更新javascript对象键值
updating javascript object key value
如果我尝试添加更多的键值到javascript对象,它会改变所有键的值,而不仅仅是我添加的一个。
var corridorObject = {};
var makeObjects = [];
function someFunction(){
var a = makePoints;
var Corridor = viewer.entities.add({
corridor : {
positions : (a),
width : 10.0,
material : Cesium.Color.GREEN,
}
var idv0 = Corridor.id
corridorObject[idv0] = makeObjects;
console.log(corridorObject);
makeObjects.length=0;
}
走廊ID是一个guid, makeObjects是一个对象数组,当我运行这个时,它完美地添加了键和值,但是当我第二次运行它时,它添加了一个带有新ID和新值的新键,但它也将所有其他键的值更改为最近的值。
这里是控制台,正如您可以看到的,第一次ID的数组是3长,第二次相同ID的数组是2长
Object {91ff9967-7019-4e76-846e-c0e125481060: Array[3]}
Object {91ff9967-7019-4e76-846e-c0e125481060: Array[2], 3de2c2b1-5fb6-495c-9034-2b37713e5c30: Array[2]}
抱歉要更清楚,这是来自Cesiumjs,它采取点并将它们转换为走廊,走廊id和使其成为该对象的点数组,然后添加到此对象。然后清空点数组。
如果你在重复
var corridorObject = {};
var makeObjects = [];
var idv0 = Corridor.id
corridorObject[idv0] = makeObjects;
console.log(corridorObject);
这行代码将初始化
var corridorObject = {};
这就是为什么你只能得到一把钥匙。将初始化置于迭代之外
相关文章:
- 将JSON对象的表示形式更改为显式键/值格式
- JavaScript,循环具有不同数量对键值的对象
- 通过键/值引用更新Javascript对象值
- JS在封装对象中查找键值对
- ES6类型表示可以反转的键值对象
- 下划线.js,根据键值删除对象数组中的重复项
- 在键值对的唯一组合上合并对象
- 将键/值数组中的对象与另一个对象(键/值)进行比较
- javascript对象键值对
- 根据嵌套数组中匹配的键值获取对象
- 如何将这些对象键值放入文本框中
- 将键、值对象转换为仅值数组
- 如何通过在JavaScript对象中的多个键/值对中查找最小值来选择键/值配对
- 将具有键值对数组的JavaScript对象发布到WebApi时出现问题
- 使用类似于 Array.prototype.map() 的方法将数组转换为键值对象
- JavaScript 从字符串创建键值对象数组
- 如何在javascript中仅用键值对象的值重建数组
- 从字符串生成js键值对象
- 在jQuery中添加属性时,使用attr()方法,将属性作为键值对象传递,还是直接传递,哪种方法执行速度最快?
- 如何在键值对象中添加引号