当前位置: 首页 > news >正文

Vue 3 中将 ref 创建的响应式对象数据转换为普通(非响应式)的数据

Vue 3 中使用 ref 创建的响应式对象数据转换为普通(非响应式)的数据,有以下几种方法:

1. 访问 .value 属性:

这是最直接、最常见的方法。 由于 ref 对象的值存储在其 .value 属性中,直接访问该属性即可获得普通数据。

<script setup>import { ref } from 'vue';
const myRef = ref({ name: 'John', age: 30 });// 获取普通对象
const plainObject = myRef.value;console.log(plainObject); // { name: 'John', age: 30 }
console.log(typeof plainObject); // object// 修改 plainObject 不会影响 myRef
plainObject.name = 'Jane';console.log(myRef.value.name); // "John" (myRef 仍然是响应式的,没有被修改)
console.log(plainObject.name); // "Jane"</script>
  • 优点: 简单直接,易于理解。
  • 缺点: 如果你需要的是深拷贝,此方法只进行浅拷贝,修改 plainObject 的嵌套对象属性仍然会影响 myRef

2. 使用展开运算符 (...) 进行浅拷贝:

如果你需要的是一个新的对象,并且避免修改原始的 ref 对象,可以使用展开运算符创建一个浅拷贝。

<script setup>import { ref } from 'vue';const myRef = ref({ name: 'John', age: 30, address: { city: 'New York' } });// 使用展开运算符进行浅拷贝const plainObject = { ...myRef.value };console.log(plainObject); // { name: 'John', age: 30, address: { city: 'New York' } }// 修改浅拷贝对象的属性
plainObject.name = 'Jane';
console.log(myRef.value.name); // "John"
console.log(plainObject.name); // "Jane"// 修改嵌套对象属性会影响 myRef,因为是浅拷贝
plainObject.address.city = 'Los Angeles';
console.log(myRef.value.address.city); // "Los Angeles" (仍然会影响 ref 对象)
console.log(plainObject.address.city); // "Los Angeles"</script>
  • 优点: 创建了一个新的对象,修改拷贝后的对象不会直接影响原始的 ref 对象。
  • 缺点: 仍然是浅拷贝。如果 ref 对象包含嵌套的对象或数组,修改拷贝后的对象的嵌套属性仍然会影响原始的 ref 对象。

3. 使用 JSON.parse(JSON.stringify(obj)) 进行深拷贝 (不推荐用于包含函数或 Symbol 的对象):

这是一种常用的创建深拷贝的方法,但不适用于包含函数、Symbol、循环引用的对象

<script setup>import { ref } from 'vue';const myRef = ref({ name: 'John', age: 30, address: { city: 'New York' } });// 使用 JSON.parse(JSON.stringify()) 进行深拷贝const plainObject = JSON.parse(JSON.stringify(myRef.value));console.log(plainObject); // { name: 'John', age: 30, address: { city: 'New York' } }// 修改深拷贝对象的属性plainObject.name = 'Jane';plainObject.address.city = 'Los Angeles';console.log(myRef.value.name); // "John"
console.log(plainObject.name); // "Jane"
console.log(myRef.value.address.city); // "New York"
console.log(plainObject.address.city); // "Los Angeles"</script>
  • 优点: 可以创建深拷贝,完全隔离原始 ref 对象和拷贝对象。
  • 缺点:
    • 效率相对较低。
    • 无法复制函数、Symbol、undefined 和循环引用的对象。 函数会被忽略,Symbol 会丢失,undefined 会变成 null, 循环引用会报错。
    • Date对象会被转换成字符串。

4. 使用 lodash 的 _.cloneDeep() 函数 (推荐):

lodash 是一个流行的 JavaScript 工具库,提供了很多实用的函数,包括深拷贝。

<script setup>
import { ref } from 'vue';
import _ from 'lodash'; // 需要安装 lodash: npm install lodashconst myRef = ref({ name: 'John', age: 30, address: { city: 'New York' }, func: () => {} });// 使用 lodash 的 _.cloneDeep() 函数进行深拷贝const plainObject = _.cloneDeep(myRef.value);console.log(plainObject); // { name: 'John', age: 30, address: { city: 'New York' }, func: () => {} }// 修改深拷贝对象的属性plainObject.name = 'Jane';plainObject.address.city = 'Los Angeles';plainObject.func = () => { console.log('new func') }; // 修改函数console.log(myRef.value.name); // "John"
console.log(plainObject.name); // "Jane"
console.log(myRef.value.address.city); // "New York"
console.log(plainObject.address.city); // "Los Angeles"
</script>
  • 优点:
    • 可以创建真正的深拷贝,包括函数和 Symbol (取决于 lodash 版本)。
    • 能够处理循环引用。
    • 经过优化,性能通常比 JSON.parse(JSON.stringify()) 更好。
  • 缺点: 需要安装额外的库 (lodash)。

5. 使用 structuredClone() (现代浏览器):

structuredClone() 是一个现代浏览器提供的全局函数,用于创建深拷贝。

<script setup>import { ref } from 'vue';const myRef = ref({ name: 'John', age: 30, address: { city: 'New York' }, func: () => {} });// 使用 structuredClone() 进行深拷贝
const plainObject = structuredClone(myRef.value);console.log(plainObject);
// 修改深拷贝对象的属性plainObject.name = 'Jane';
plainObject.address.city = 'Los Angeles';console.log(myRef.value.name); // "John"
console.log(plainObject.name); // "Jane"
console.log(myRef.value.address.city); // "New York"
console.log(plainObject.address.city); // "Los Angeles"</script>
  • 优点:

    • 内置于浏览器,无需安装额外的库。
    • 可以处理循环引用。
    • 支持多种数据类型,包括 DateRegExpMapSet 等。
  • 缺点:

    • 浏览器兼容性:不是所有浏览器都支持 structuredClone() (旧版本的浏览器可能不支持). 需要 polyfill 。
    • 性能可能不如 lodash 的 _.cloneDeep(),具体取决于数据结构和浏览器实现。
    • 无法拷贝函数。 如果对象包含函数,函数属性将会被设置为 null

总结:

  • 如果只需要访问 ref 对象的值,直接使用 .value 即可。
  • 如果需要创建一个新的对象,并且不需要深拷贝,可以使用展开运算符 (...)。
  • 如果需要深拷贝,且对象不包含函数、Symbol、循环引用,可以使用 JSON.parse(JSON.stringify()) (但通常不推荐)。
  • 最推荐使用 lodash 的 _.cloneDeep() 函数进行深拷贝。 它功能强大,能够处理多种情况,性能也不错。
  • 如果你的目标环境都是现代浏览器,并且不需要拷贝函数,可以考虑使用 structuredClone()

选择哪种方法取决于你的具体需求:

  • 是否需要创建一个新的对象?
  • 是否需要深拷贝?
  • 对象是否包含函数、Symbol、循环引用?
  • 性能要求如何?
  • 是否可以引入额外的库?
  • 目标浏览器环境是什么?

根据这些因素,选择最适合你的方法。 在大多数情况下,使用 lodash 的 _.cloneDeep() 是一个安全可靠的选择。

相关文章:

Vue 3 中将 ref 创建的响应式对象数据转换为普通(非响应式)的数据

Vue 3 中使用 ref 创建的响应式对象数据转换为普通&#xff08;非响应式&#xff09;的数据&#xff0c;有以下几种方法&#xff1a; 1. 访问 .value 属性: 这是最直接、最常见的方法。 由于 ref 对象的值存储在其 .value 属性中&#xff0c;直接访问该属性即可获得普通数据。…...

Vue基础(6)_键盘事件

普通键盘事件 键盘事件常用的有两个&#xff1a;keydown、keyup。 举例&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><script type"text/javascript" src"../js/vue.js"&…...

Kubernetes控制平面组件:高可用 APIServer

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;Kubernetes控…...

这个是我的qss按钮样式 和之前的// 应用全局样式表 QString style = R“(是会冲突吗,导致我的按钮背景颜色是黑色,我该怎么修改

/* 样式 A */ *[style-type="A"] { background-color:#cfd1d4; border: none; border-radius: 50%; /* 圆形边框 */ padding: 7px 14px; } *[style-type="A"]:hover { background-color: #45a049; }这个是我的qss按钮样式 和之前的// 应用全局样式表 QStri…...

Kubernetes控制平面组件:API Server详解(二)

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;Kubernetes控…...

人工智能在智慧农业中的应用:从田间到餐桌的变革

农业是人类社会的基石&#xff0c;随着全球人口的增长和资源的日益紧张&#xff0c;传统农业面临着巨大的挑战。近年来&#xff0c;人工智能&#xff08;AI&#xff09;技术的快速发展为农业带来了新的机遇。智慧农业通过将AI技术与农业生产相结合&#xff0c;实现了从田间种植…...

多人3D游戏完整实现方案

以下是一份完整的代码实现方案,涵盖架构设计、核心模块实现和部署流程。我们以 多人3D游戏 为例,结合之前讨论的Nano服务端框架和Unity客户端: 技术栈 模块技术选型服务端Golang + Nano框架 + MongoDB客户端Unity 2022 + C# + Mirror Networking通信协议Protobuf + WebSock…...

FFUF指南

ffuf 的核心功能&#xff1a; 目录/文件发现&#xff1a; 通过暴力破解&#xff08;使用字典&#xff09;探测目标网站的隐藏目录或文件&#xff0c;例如&#xff1a; ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ 子域名枚举&#xff1a; 通过模糊测试发现目标…...

详细的PyCharm安装教程

详细的PyCharm安装教程 安装前准备 确认系统要求&#xff1a; Windows&#xff1a;Microsoft Windows 10 1809 64位或更高版本&#xff0c;Windows Server 2019 64位或更高版本。 macOS&#xff1a;12.0或更高版本。 Linux&#xff1a;满足以下要求的两个最新版本的Ubuntu LTS或…...

FPGA IO引脚 K7-认知4

UG475来知道bank, GTX, Pin数量&#xff0c; Package, Pinout 时钟 ​​SRCC​​&#xff08;Single-Region Clock Capable I/O&#xff09;和​​MRCC​​&#xff08;Multi-Region Clock Capable I/O&#xff09;是专用的时钟输入/输出引脚。 如 2.DQS...

C++——异常

1. C语言错误处理机制 我们在曾经介绍过C语言下的错误码。错误码我们过去经常见到&#xff0c;错误码通常是指errno变量中的值&#xff0c;它表示特定操作&#xff08;如系统调用或库函数&#xff09;发生错误的原因。errno是一个全局变量&#xff0c;当出现错误时会自动将错误…...

vue3 中 iframe 多页面切换导致资源刷新的问题解决

最近发现一个问题&#xff0c;我在使用 websocket 的时候&#xff0c;在主页面进行了 websocket 连接了之后&#xff0c;再使用 iframe 打开子页面的时候&#xff0c;通常会触发页面刷新&#xff0c;这样就导致 WebSocket 断开&#xff0c;这是因为切换 src 会重新加载 iframe …...

php多种方法实现xss过滤

1. 使用 htmlspecialchars() 函数 htmlspecialchars() 是一个PHP内置函数&#xff0c;用于将特殊字符转换为HTML实体&#xff0c;从而防止浏览器将其解释为HTML或脚本代码。 <?phpfunction sanitizeInput($input) {// 将特殊字符转换为HTML实体return htmlspecialchars($…...

蓝桥杯练习题2

动态规划 动态规划三大题型&#xff1a;计数问题、最值问题、存在性问题&#xff1b; 【最小权值】-- 最值问题 【题目分析】 import java.util.Arrays; Arrays类中的一个方法&#xff1a;Arrays.fill(int[] m,int n) //给 int 类型(或者char类型/Long类型...)的数组全部空间…...

Python遥感开发之Hurst指数的实现

Python遥感开发之Hurst指数的实现 主要讲解Python实现Hurst指数&#xff0c;实现遥感下的Hurst指数&#xff0c;对Hurst指数进行分类&#xff0c;以及结合slope指数实现对未来变化趋势的分析。 文章目录 Python遥感开发之Hurst指数的实现0 什么是Hurst指数1 Python实现Hurst指…...

opencv 给图片和视频添加水印

给图片和视频添加水印 1 给图片添加水印2 给视频添加水印 1 给图片添加水印 代码如下&#xff1a; 添加水印 imgcv2.imread(r../15day4.10/src/xiaoren.png) img2cv2.imread(r../15day4.10/src/bg.png) h,w,cimg.shapeRIO_img2img2[100:100h,200:200w]img3cv2.cvtColor(img,…...

国网B接口协议图像数据上报通知接口流程详解以及上报失败原因(电网B接口)

文章目录 一、B接口协议图像数据上报通知接口介绍B.13.1 接口描述B.13.2 接口流程B.13.3 接口参数B.13.3.1 SIP头字段B.13.3.2 SIP响应码B.13.3.3 XML Schema参数定义 B.13.4 消息示例B.13.4.1 图像数据上报请求B.13.4.2 图像数据上报响应 二、B接口图像数据上报通知失败常见问…...

Redis(持久化)

目录 一 Redis持久化的方式 1. RDB(Redis Database) 2. AOF(Append Only File) 二 对比RDB/AOF 为什么要持久化 Redis是跑在内存上的&#xff0c;但内存上的数据是临时的&#xff0c;Redis服务挂了&#xff0c;数据也就丢失了&#xff0c;所以为了解决上述问题&#xff0c;R…...

Linux系统中的网络管理

1.RHEL9版本中&#xff0c;使用nm进行网络配置&#xff0c;ifcfg不再是网络配置文件的主存储&#xff0c;样式仍然可用&#xff0c;但它不再是NetworkManger存储新网络配置文件的默认位置&#xff0c;RHEL以key-file格式在etc/NetworkManger/system-connections/中存储新的网络…...

【深度学习—李宏毅教程笔记】Transformer

目录 一、序列到序列&#xff08;Seq2Seq&#xff09;模型 1、Seq2Seq基本原理 2、Seq2Seq模型的应用 3、Seq2Seq模型还能做什么&#xff1f; 二、Encoder 三、Decoder 1、Decoder 的输入与输出 2、Decoder 的结构 3、Non-autoregressive Decoder 四、Encoder 和 De…...

关于UE5的抗锯齿和TAA

关于闪烁和不稳定现象的详细解释 当您关闭抗锯齿技术时&#xff0c;场景中会出现严重的闪烁和不稳定现象&#xff0c;尤其在有细节纹理和小物体的场景中。这种现象的技术原因如下&#xff1a; 像素采样问题 在3D渲染中&#xff0c;每个像素只能表示一个颜色值&#xff0c;但…...

交换网络基础

学习目标 掌握交换机的基本工作原理 掌握交换机的基本配置 交换机的基本工作原理 交换机是局域网&#xff08;LAN&#xff09;中实现数据高效转发的核心设备&#xff0c;工作在 数据链路层&#xff08;OSI 模型第二层&#xff09;&#xff0c;其基本工作原理可概括为 “学习…...

AUTOSAR图解==>AUTOSAR_SWS_EFXLibrary

AUTOSAR 扩展定点数学函数库(EFX)分析 1. 概述 AUTOSAR (AUTomotive Open System ARchitecture) 是汽车电子控制单元(ECU)软件架构的开放标准。在AUTOSAR架构中&#xff0c;扩展定点数学函数库(Extended Fixed-point library, EFX)提供了一组优化的定点数学运算函数&#xff…...

六边形棋盘格(Hexagonal Grids)的坐标

1. 二位坐标转六边形棋盘的方式 1-1这是“波动式”的 这种就是把【方格子坐标】“左右各错开半个格子”做到的 具体来说有如下几种情况 具体到庙算平台上&#xff0c;是很巧妙的用一个4位整数&#xff0c;前两位为x、后两位为y来进行表示 附上计算距离的代码 def get_hex_di…...

李宏毅NLP-5-RNNTNeural TransducerMoChA

RNN Transducer(RNN-T) 循环神经对齐器&#xff08;RNA&#xff0c;Recurrent Neural Aligner&#xff09;对CTC解码器的改进&#xff0c;具体内容如下&#xff1a; “RNA”&#xff0c;全称 “Recurrent Neural Aligner”&#xff0c;引用来自 [Sak, et al., INTERSPEECH’17…...

GPT-SoVITS 使用指南

一、简介 TTS&#xff08;Text-to-Speech&#xff0c;文本转语音&#xff09;&#xff1a;是一种将文字转换为自然语音的技术&#xff0c;通过算法生成人类可听的语音输出&#xff0c;广泛应用于语音助手、无障碍服务、导航系统等场景。类似的还有SVC&#xff08;歌声转换&…...

洛谷的几道题

P1000 超级玛丽游戏 # P1000 超级玛丽游戏 ## 题目背景 本题是洛谷的试机题目&#xff0c;可以帮助了解洛谷的使用。 建议完成本题目后继续尝试 [P1001](/problem/P1001)、[P1008](/problem/P1008)。 另外强烈推荐[新用户必读帖](/discuss/show/241461)。 ## 题目描述 …...

利用yakit充实渗透字典

前言 在渗透侧测试结束&#xff0c;在我们的历史记录中会保存过程中的数据包。在其中有些特征&#xff0c;比如API、参数&#xff0c;可以活用于下次的渗透。 比如 fuzz变量&#xff0c;fuzz隐藏API…… 但是我们一个一个提取很麻烦&#xff0c;可以使用yakit的插件&#xf…...

精益数据分析(4/126):开启数据驱动的创业之旅

精益数据分析&#xff08;4/126&#xff09;&#xff1a;开启数据驱动的创业之旅 在创业的浪潮中&#xff0c;我们都怀揣着梦想&#xff0c;渴望找到那条通往成功的道路。作为一名在创业和数据分析领域摸爬滚打多年的“老兵”&#xff0c;我深知其中的艰辛与挑战。今天&#x…...

机器学习误差图绘

机器学习误差图绘制 绘图类 # Define the ModelComparisonPlot class class ModelComparisonPlot:def __init__(self, model_name):self.model_name model_namedef plot_comparison(self, y_val, y_pred, mse, mae, r2):# Create a figure with two subplotsfig, axes plt.…...

企业级RAG选择难题:数据方案的关键博弈

企业级RAG选择难题&#xff1a;数据方案的关键博弈 向量数据库&#xff1a;高效但易失语境图数据库与知识图谱&#xff1a;关系网络的力量企业级RAG数据方案的最佳实践 智能时代&#xff0c;企业数据每日剧增。员工寻找答案的效率直接影响工作流程&#xff0c;StackOverflow调查…...

JNI 学习

1. JNI 不属于 C&#xff0c;而是 JDK 的 日志失效&#xff0c;可以 adb kill-server adb kill-serveradb start-server 使用 jni final和 private变量都能修改...

PyTorch :优化的张量库

PyTorch 是一个基于 Python 的开源机器学习框架&#xff0c;由 Facebook 的 AI 研究团队&#xff08;现 Meta AI&#xff09;于 2016 年推出。它专为深度学习设计&#xff0c;但也可用于传统的机器学习任务。PyTorch 的核心优势在于​​灵活性​​、​​动态计算图​​和​​易…...

DevOps 进阶指南:如何让工作流更丝滑?

DevOps 进阶指南:如何让工作流更丝滑? 引言 在 DevOps 世界里,我们追求的是高效、稳定、自动化。但现实总是充满挑战:代码部署失败、CI/CD 过程卡顿、环境不一致……这些痛点让开发和运维团队疲惫不堪。今天,我就来聊聊如何优化 DevOps 工作流,通过实战案例和代码示例,…...

BT-Basic函数之首字母XY

BT-Basic函数之首字母XY 文章目录 BT-Basic函数之首字母XYXxd__ commands Yyes X xd__ commands 当使用外部设备时&#xff0c;开发人员需要在测试计划中添加适当的命令来控制这些设备。下表显示了一个典型的命令序列。 典型的命令序列 NO命令描述1xdload将DLL加载到内存中…...

6. 话题通信 ---- 使用自定义msg,发布方和订阅方cpp,python文件编写

1)在功能包下新建msg目录&#xff0c;在msg目录下新建Person.msg,在Person.msg文件写入&#xff1a; string name uint16 age float64 height 2)修改配置文件 2.1) 功能包下package.xml文件修改 <build_depend>message_generation</build_depend><exec_depend…...

Fastdata极数:全球AR/VR行业发展趋势报告2025

科技的快速发展孕育了一个新的数字前沿领域&#xff0c;那就是虚拟宇宙&#xff0c;也就是我们谈论的元宇宙&#xff08;Metaverse&#xff09;&#xff0c;虚拟宇宙最初构思于尼尔斯蒂芬森的科幻小说《雪崩》中&#xff0c;小说中虚拟宇宙由虚拟人物居住&#xff0c;并以数字方…...

背包 DP 详解

文章目录 背包DP01 背包完全背包多重背包二进制优化单调队列优化 小结 背包DP 背包 DP&#xff0c;说白了就是往一个背包里扔东西&#xff0c;求最后的最大价值是多少&#xff0c;一般分为了三种&#xff1a;01 背包、完全背包和多重背包。而 01 背包则是一切的基础。 01 背包…...

深入剖析 HashMap:内部结构与性能优化

深入剖析 HashMap&#xff1a;内部结构与性能优化 引言 HashMap 是 Java 集合框架中的核心类&#xff0c;广泛应用于数据存储和检索场景。本文将深入剖析其内部结构&#xff0c;包括数组、链表和红黑树的转换机制&#xff0c;帮助读者理解其工作原理和性能优化策略。 1. Hash…...

数据从辅存调入主存,页表中一定存在

在虚拟内存系统中&#xff0c;​数据从辅存调入主存时&#xff0c;页表中一定存在对应的页表项&#xff0c;但页表项的「存在状态」会发生变化。以下是详细分析&#xff1a; 关键逻辑 ​页表的作用 页表是虚拟内存的核心数据结构&#xff0c;记录了虚拟地址到物理地址的映射关系…...

藏品馆管理系统

藏品馆管理系统 项目简介 这是一个基于 PHP 开发的藏品馆管理系统&#xff0c;实现了藏品管理、用户管理等功能。 藏品馆管理系统 系统架构 开发语言&#xff1a;PHP数据库&#xff1a;MySQL前端框架&#xff1a;BootstrapJavaScript 库&#xff1a;jQuery 目录结构 book/…...

力扣算法ing(60 / 100)

4.19 回溯合集—93复原ip地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&…...

时态--06--现在完成時

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 现在完成時1.语法1.肯定句2.否定句3.疑问句4.have been/gone to5.现在分词 practice 现在完成時 1.语法 1.肯定句 2.否定句 3.疑问句 4.have been/gone to 5.现在分…...

Java中常见的锁synchronized、ReentrantLock、ReentrantReadWriteLock、StampedLock

在Java中&#xff0c;锁是实现多线程同步的核心机制。不同的锁适用于不同的场景&#xff0c;理解其实现原理和使用方法对优化性能和避免并发问题至关重要。 一、隐式锁&#xff1a;synchronized 关键字 实现原理 基于对象监视器&#xff08;Monitor&#xff09;&#xff1a;每…...

【教程】DVWA靶场渗透

【教程】DVWA靶场渗透 备注一、环境搭建二、弱口令&#xff08;Brute Force&#xff09;三、命令注入&#xff08;Command Injection&#xff09;四、CSRF&#xff08;Cross Site Request Forgery&#xff09;五、文件包含&#xff08;File Inclusion&#xff09;六、文件上传&…...

23种设计模式-创建型模式之原型模式(Java版本)

Java 原型模式&#xff08;Prototype Pattern&#xff09;详解 &#x1f9ec; 什么是原型模式&#xff1f; 原型模式用于通过复制已有对象的方式创建新对象&#xff0c;而不是通过 new 关键字重新创建。 核心是&#xff1a;通过克隆&#xff08;clone&#xff09;已有对象&a…...

【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3核心文件common.py解读

【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3核心文件common.py解读 文章目录 【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3核心文件common.py解读前言autopad函数Conv类__init__成员函数forward成员函数forward_fuse成员函数 Bottleneck类__init__成员…...

PDF转excel+json ,vue3+SpringBoot在线演示+附带源码

在线演示地址&#xff1a;Vite Vuehttp://www.xpclm.online/pdf-h5 源码gitee前后端地址&#xff1a; javapdfexcel: javaPDF转excelhttps://gitee.com/gaiya001/javapdfexcel.git 盖亚/vuepdfhttps://gitee.com/gaiya001/vuepdf.git 后续会推出 前端版本跟nestjs版本 识别复…...

LeetCode 热题 100_乘积最大子数组(88_152_中等_C++)(动态规划)

LeetCode 热题 100_乘积最大子数组&#xff08;88_152&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;暴力破解法(双重循环)&#xff09;&#xff1a;思路二&#xff08;动态规划&#xff09;&#xff1a; …...

Nvidia显卡架构演进

1 简介 显示卡&#xff08;英语&#xff1a;Display Card&#xff09;简称显卡&#xff0c;也称图形卡&#xff08;Graphics Card&#xff09;&#xff0c;是个人电脑上以图形处理器&#xff08;GPU&#xff09;为核心的扩展卡&#xff0c;用途是提供中央处理器以外的微处理器帮…...