如果我运行以下代码,则长度不会改变:
console.log(files.length);
_.pull(files, [files[0], files[1]]);
console.log(files.length);
其中files
是一个Array对象。鉴于我直接从数组中构造了第二个参数值,我不应该pull
找到要删除的匹配项吗?
答案 0 :(得分:1)
由于某种原因尝试更改length属性或执行任何会导致引擎隐式更改长度的内容(例如调用files.splice)将抛出RangeError
为什么不使用without()删除不需要的文件来创建新阵列?
var newFiles = _.without(files, files[0], files[1]);
答案 1 :(得分:0)
我认为你不应该传递一组你想要“拉”的值。文档表明它们应该是单独的参数,如下所示:
_.pull(files, files[0], files[1]);