从数组及其父数组中删除拼接 - 奇怪的问题
splice deletes from an array and also from its parent array - strange issue
嗨,我的代码中有这个简单的脚本,
var c = [{a: 'apple'},{b: 'ball'},{c: 'ball'},{d: 'ball'}];
console.log(c); //prints 3 objects
var d = c;
d.splice(0, 3);
console.log(c); //prints 1 object
console.log(d); //prints 1 object
对我来说奇怪的是拼接结果后的 c 和 d(从 c 中删除 3 个对象后,而我只从 d 中删除了 c 而不是 c)。使用d.splice(0, 3)
它应该从"d"中删除为什么它会从"c"中删除太???任何想法??我在哪里错过了什么,请指导我。
var d = c;
这是引用数组,而不是复制它。
要复制它并d
完全独立的数组,请使用 .slice(0)
var d = c.slice(0)
相关文章:
- JavaScript/jQuery JSON数组问题-值为未定义
- array_push平面数组问题-需要能够向数组中添加多个变量
- 尽管使用了off,click函数仍会触发,这可能也会导致数组问题
- JavaScript/jQuery悬停函数的行为很有趣——数组问题
- 使用新值更新时出现数组问题
- Javascript 矩阵数组问题
- 对于javascript和jquery的循环数组问题
- 绘制 C3 图表时的 JSON 到数组问题
- Spring 3 中的字符串数组问题
- JavaScript 数组问题
- Javascript图像数组问题
- Javascript数组问题
- 使用JS的数组问题
- 简单的Javascript数组问题
- 在多维数组问题上用javascript实现foreach循环
- 合并并返回唯一数组问题
- Javascript关联数组问题
- ng-repeat声明中的数组问题
- d3.js数组问题:Uncaught TypeError: Cannot read property 'date
- Javascript数组问题:无法读取未定义属性