我有一个名为products.original
的(子)对象。
然后将其提取到名为productArray
的新对象中:
var productArray = [];
productArray = products.original;
/*some calculations here*/
//sort the object by lowest score
productArray.sort(function(a, b) {return a.score - b.score;});
最后,我将
productArray
中的前三个单元格提取到第三个对象resultArray
中:var resultArray= [];
resultArray = productArray.splice(0,3);
令我惊讶的是,这将
products.original
的长度减少了3(拼接)。为什么?我该怎么做呢?提前致谢。 最佳答案
您没有复制数组,而只是复制了对其的引用。因此,所有操作仍将在原始对象上执行。
对于真正的克隆,请使用slice。
productArray = products.original.slice(0);