Javascript Lodash u.remove()和u.pullAt()之间的差异
lodashJavascript Lodash u.remove()和u.pullAt()之间的差异,javascript,arrays,underscore.js,lodash,Javascript,Arrays,Underscore.js,Lodash,lodash.remove()和.pullAt()函数之间有什么区别 var arr1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; _.remove(arr1, function (item) { return item == 1 }); var arr2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; _.pullAt(arr2, 1); console.log(arr1.toString() + '\n' + arr2.toString()
.remove()
和.pullAt()
函数之间有什么区别
var arr1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
_.remove(arr1, function (item) {
return item == 1
});
var arr2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
_.pullAt(arr2, 1);
console.log(arr1.toString() + '\n' + arr2.toString());
// both result to [0,2,3,4,5,6,7,8,9,]
我已经在lodash网站上用板条箱包装并阅读了说明u.remove()
从谓词返回truthy for的数组中移除所有元素,并返回移除元素的数组
和u.pullAt()
从与给定索引对应的数组中删除元素,并返回已删除元素的数组
有什么区别吗?还是我遗漏了什么?即使是你的例子也有不同之处:
按值移除
拼接元素,而按索引拉出
让我们用不同的数组检查它[0,3,1,1,5]
:
:删除
-删除所有[0,3,5]
项1
:pullAt
-[0,1,1,5]
已拼接arr[1]
删除编写除按值比较之外的其他筛选器:
_.remove(arr, item => item % 2); // removes all odd numbers
_.remove(arr, user => user.deleted); // splice deleted users
_.remove(arr, item => item < 5); // and etc.
\删除(arr,项目=>项目%2);//删除所有奇数
_.remove(arr,user=>user.deleted);//删除的用户
_.删除(arr,项目=>项目<5);//等等。
您的意思是除\uuuuuuu()之外的所有数字。remove()
使用谓词而\uuuuuuuuuuuu。pullAt
使用索引?请尝试使用pullAt删除所有偶数。您的文档引用明确说明了这些差异。仅仅因为您可以在输出中创建等价性并不意味着它们是相同的。重新阅读文档。同时用[9,8,7,1]
array@vp_arth谢谢,这最后一个很有用