object 相关问题

对象是可以由编程语言中的命令操纵的任何实体。对象可以是值,变量,函数或复杂的数据结构。在面向对象的编程中,对象引用类的实例。

javascript 通过使用正则表达式搜索字段和值来创建对象

我希望你能帮我解决这个问题。我需要搜索文本中的字段和值并将它们转换为对象。 文本示例 <@if VERSION = "A1"> <@assign CTA =...

回答 1 投票 0

在 C# 中创建动态对象

我有一个对象列表列表。第一个条目是标头名称列表:它们的类型为“object {string}” 然后接下来的条目是数据行,对应于那些标题 n...

回答 1 投票 0

如何识别和比较具有嵌套结构的 TypeScript 对象中的更改字段?

我正在开发一个 TypeScript 项目,我需要比较两个具有潜在嵌套结构的对象,并识别它们之间已更改的字段。例如,考虑一个旧对象

回答 1 投票 0

如何避免改变传递给 Nuxt 3 组件 prop 对象的原始嵌套对象?

我通过 Nuxt 3 中的 props 将数据对象从一个组件传递到另一个组件: 父组件 我在 Nuxt 3 中通过 props 将数据对象从一个组件传递到另一个组件: 父组件 <template> <div> <Tests :objParent="objParent" /> </div> </template> <script setup> const objParent = {title: {en:"title en", fr:"title fr"}} </script> 子组件 <template> <div > <h1>objParent : {{ props.objParent.title.en }}</h1> <v-text-field label="label" v-model="objChild.title.en" /> <h1>objChild : {{ objChild.title.en }}</h1> </div> </template> <script setup> const props = defineProps(["objParent"]); const objChild = ref({...props.objParent}); </script> 问题是,如果我改变 objChild 中的嵌套对象,它们仍然会在父组件的原始嵌套对象中发生改变。 在没有嵌套对象的情况下传递对象时,我没有遇到同样的问题 - 例如: // title can be mutated without mutating the original object const objParent = {title: "title en"} 我做了一些研究,找到了这个解决方案: const objChild = ref(JSON.parse(JSON.stringify(props.objParent))); 这是一个有效的解决方案吗? 为了扩展 Emil 的评论,由于您的新对象是直接使用原始对象的 props 创建的(通过 spread 运算符),因此每个嵌套对象将继续指向嵌套在原始父对象中的对象。 发生这种情况是因为 JavaScript 中的对象与原始值不同,因为它们是引用类型。当您将一个对象分配给变量时,您为该对象分配了一个引用 - 这意味着如果您继续在其他地方分配相同的对象,它会仍然指向原始对象,并且对于所有它的嵌套对象。 所以: const x = { hello: 'world' }; const y = { x }; const z = { y }; z.y.x.hello = 'kitty'; // {hello: 'kitty'} console.log(x); 正如您自己指出的,在 JavaScript 中生成深层副本的一种简单技术是将其序列化/反序列化为 JSON 字符串: const x = { hello: 'world' }; const y = { x }; const z = JSON.parse(JSON.stringify({ y })); z.y.x.hello = 'kitty'; // {hello: 'world'} console.log(x); // {y: {x: {hello: 'kitty'}}} console.log(z); 回答你的问题 - 是的,它是一种有效、有效且广泛使用的创建深度克隆的方法。但请注意,并非所有内容都可以序列化为 JSON,包括符号键控属性、BigInt值和循环引用。请参阅注意事项此处。 如果您期望接收的数据已经来自 REST API,则它很可能不包含任何不可序列化的数据。 您可以在此 Stack Overflow 问题中找到其他替代方案(及其注意事项)。

回答 1 投票 0

将十六进制转换为 Node.js (Javascript) 中的文本 (ASCII) 或 JSON 对象

我从硬件接收十六进制并尝试使用 Node.js (Javascript) 将其转换为 json 对象 收到数据 50 4F 53 54 20 2F 77 69 66 69 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 ...

回答 1 投票 0

在 Nuxt 3 中通过 props 在组件之间传递数据对象

我通过 Nuxt 3 中的 props 将数据对象从一个组件传递到另一个组件。 我在 Nuxt 3 中通过 props 将数据对象从一个组件传递到另一个组件。 <template> <div> <Tests :objParent="objParent"></Tests> </div> </template> <script setup> const objParent={title: {en:"title en", fr:"title fr"}} </script> 子组件中的接收 <template> <div > <h1>objParent : {{ props.objParent.title.en }}</h1> <v-text-field label="label" v-model="objChild.title.en"></v-text-field> <h1>objChild : {{ objChild.title.en }}</h1> </div> </template> <script setup> const props = defineProps(["objParent"]); const objChild = ref({...props.objParent}); </script> 但是新对象的修改会更改原始对象 但是传递一个没有子对象的对象是可行的 const objParent={title: "title en"} 我找到了这个解决方案,是真的吗? const objChild = ref(JSON.parse(JSON.stringify(props.objParent))); 为了扩展 Emil 的评论,由于您的新对象是直接使用原始对象的 props 创建的(通过 spread 运算符),因此每个嵌套对象将继续指向嵌套在原始父对象中的对象。 发生这种情况是因为 JavaScript 中的对象与原始值不同,因为它们是引用类型。当您将一个对象分配给变量时,您为该对象分配了一个引用 - 这意味着如果您继续在其他地方分配相同的对象,它会仍然指向原始对象,并且对于所有它的嵌套对象。 所以: const x = { hello: 'world' }; const y = { x }; const z = { y }; z.y.x.hello = 'kitty'; // {hello: 'kitty'} console.log(x); 正如您自己指出的,在 JavaScript 中生成深层副本的一种简单技术是将其序列化/反序列化为 JSON 字符串: const x = { hello: 'world' }; const y = { x }; const z = JSON.parse(JSON.stringify({ y })); z.y.x.hello = 'kitty'; // {hello: 'world'} console.log(x); // {y: {x: {hello: 'kitty'}}} console.log(z); 回答你的问题 - 是的,它是一种有效、有效且广泛使用的创建深度克隆的方法。但请注意,并非所有内容都可以序列化为 JSON,包括符号键控属性、BigInt值和循环引用。请参阅注意事项此处。 如果您期望接收的数据已经来自 REST API,则它很可能不包含任何不可序列化的数据。 您可以在此 Stack Overflow 问题中找到其他替代方案(及其注意事项)。

回答 1 投票 0

根据共享id合并两个或多个对象数组

我正在尝试根据相同的ID合并两个或多个多维数组。 所有数组均由不同的数据库表查询填充。 我的目标:尝试将所有数组合并在一起,然后...

回答 2 投票 0

JS函数重复

函数 addObjectToArray(formInfo) { const newObject = new Object(formInfo); 数组.push(表单); } 函数 getFormInfo() { const form = document.getElementById("form"); 形式。

回答 1 投票 0

无法在 JSON 格式的 while 循环中追加对象创建

我无法将结果对象附加到现有对象,任何人都可以在这里帮助我 这是我的数据 变量数据 = []; 数据.push(“结果”); while(inc.next()){ 数据.推送({ ”

回答 1 投票 0

对嵌套的javascript数组/对象进行排序[关闭]

我有一个像这样的Javascript多级对象: { “网球”:{ “约翰”: { “总分”:329, “玩过的游戏”:[ ...

回答 1 投票 0

将多个对象推入数据层

我有以下 JavaScript 函数,它将 1 个由 5 个键值组成的对象推送到数据层中。 函数 pollForDatalayer() { if (typeof(dataLayer.push) === '函数') { // 数据层...

回答 1 投票 0

如何访问这些数组键?

我在一个对象中有 5 个索引数组,我想访问这些数组键来显示它们。 我知道最后两行引起了问题。我找了一个小时也没找到原因

回答 1 投票 0

如何在javascript中获取JSON键和值并选择某些值?

我正在尝试从 GitHub 公共 URL API (Ryanair) 提取 JSON 键值对以在 HTML 中显示特定值,但遇到了困难。我有 JSON 数据存储在“dat...

回答 1 投票 0

如何在Python中删除对象

我有一个简单的代码 类节点: def __init__(自我,val = 0): self.val = val self.right = 无 def func(obj,n): 如果不是n: 对象=无 返回 对象。

回答 1 投票 0

Three.js - 网格组示例? (三.Object3D() 高级)

我试图了解如何将子网格物体分组/链接到父网格物体。我希望能够: 拖动父级 相对于父元素旋转子元素 有家长轮换/平移做...

回答 2 投票 0

平面 CSV 文件到嵌套 Javascript 对象

我有一个CSV文件,如下: 人员ID 姓名 游戏 日期 分数 123 约翰 网球 01/01/2023 150 131 阿曼达 曲棍球 2023年1月2日 134 123 约翰 网球 2023年1月2日 140 134 彼得 网球 2023年2月2日 127 什么...

回答 1 投票 0

Spread 运算符太慢

如何增加JS中展开运算符的执行时间?我需要将一个对象添加到对象数组中,但是展开运算符和推送方法很慢,因为数据太大。例如...

回答 1 投票 0

在表单中选择的 symfony setRole 最终出现错误

我正在使用一个实体将一些角色数据捕获到选择字段中。这很好用。发送表单后,我可以访问选择的值,如下所示: 对象(Pr\UserBundle\Entity\Group)#...

回答 1 投票 0

Java类变量赋值抛出错误

为什么我不能像这样定义左和右的下一个值? 公共课解决方案{ Mapmap = new HashMap<>(); public Node left = new Node(Integer.MIN_VALUE, null...

回答 1 投票 0

将 JavaScript 数组转换为对象数组

从这样的事情中获取最快的算法是什么: var array = ['a','b','c','d','e']; 像这样的事情: [{标签:'a',值:'a'},{标签:'b',值:'b'},{标签:'c',值:'c'},{...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.