javascript - 将项目添加到对象中的数组

标签 javascript arrays json

我有一个名为 featureSet 的对象。

featureSet 内部有很多项,包括一个名为features 的数组,该数组包含其他数组attributes

我可以在 featureSet.features.attributes 中添加一个新数组,方法是在 for 循环 中执行以下操作

featureSet.features[i].attributes.NEWITEM= [NEWITEM_ARRAY];

当我使用 console.log(featureSet) 时,我可以看到项目在那里。

但是,当我使用 var test = JSON.stringify(featureSet) 时,只返回原始的 featureSet

我怎样才能避免这种情况,以便在我调用 JSON.stringify 时,新项目也在那里?

提前致谢。

最佳答案

我猜你所做的接近于:

let arr = []
console.log(arr) // []
arr.push(1)
console.log(arr) // [1]
arr.abc = 2
console.log(arr.abc) // 2
arr.push(3)
console.log(arr) // [1, 3]
console.log(JSON.stringify(arr)) // '[1, 3]'
console.log(arr.abc) // 2

JSON.stringifySymbol.iterator 的帮助下循环遍历数组属性。您的属性没有正整数索引,这就是它们被忽略的原因。 MDN 上也有一个示例:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

要考虑的另一个示例(继续上面的示例):

arr[7] = 7
console.log(arr) // [1, 3, undefined, undefined, undefined, undefined, undefined, 7]
console.log(JSON.stringify(arr)) // "[1,3,null,null,null,null,null,7]"

关于javascript - 将项目添加到对象中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52865268/

相关文章:

javascript - XML 解析错误 : no root element found (empty content) Django

c++ - 如何加速非顺序数组填充?

php - 从同一个表中的行对象创建数组::PHP + SQL

javascript - 数组中 2 个值之间的 "toggle"- JS

javascript - 如果可能,将嵌套 JSON 结构中的每个对象重命名为其 .name 属性

json - 插入调试 env json 属性 VSCode

sql - 在 BigQuery 中展平 json 字符串

javascript - jquery 漂亮的表格

Javascript OOP - 声明对象的方法

javascript - 使用 JavaScript 进行运动检测和简单分析?