var likearrcopy =likearr;
for ( var i = 0; i < length; i++) { if (likearrcopy[i].remark_id == e.target.dataset.ulike) {
likearr.splice(i,1); } } |
但删除一个后 报错 likearrcopy[i] undefined ,为什么会这样 likearr 已经copy 了一份了 !!
Array 是引用类型,你复制的和原先的指向的是同一个数组。
var
likearrcopy =likearr;
var
length = likearrcopy.length;
for
(
var
i = 0; i < length; i++) {
if
(likearrcopy[i].remark_id == e.target.dataset.ulike) {
console.log(
"找到like"
);
likearr.splice(i,1);
length--;
}
}
坑爹啊复制的 arr 没有用啊,删掉一个元素时也会变。。。 删掉一个元素后, 加了个 length--
光看这些看不出来