我有一个对象数组,我需要根据条件删除一些对象。如何使用lodash map函数实现它? 例如:
[{a: 1}, {a: 0}, {a: 9}, {a: -1}, {a: 'string'}, {a: 5}]
我需要删除
{a: 0}, {a: -1}, {a: 'string'}
我怎样才能实现它?
答案 0 :(得分:4)
您可以使用lodash的删除功能来实现此目的。它将数组转换到适当位置并返回已删除的元素
let join = function join(arr, conn) {
return j(...arr);
function j(head, ...rest) {
return (head || "") + (rest.length ? (conn + j(...rest, conn)) : "")
}
}
let nums = [1, 2, 34, 45, 100]
console.log(join(nums, "-"));
答案 1 :(得分:1)
ES6
const arr = [{a: 1}, {a: 0}, {a: 9}, {a: 5}];
const newArr = _.filter(arr, ({a}) => a !== 0);
ES5
var arr = [{a: 1}, {a: 0}, {a: 9}, {a: 5}];
var newArr = _.filter(arr, function(item) { return item.a !== 0 });
答案 2 :(得分:1)
除了_.remove或_.filter之外,您还可以使用reject()
P = [contoor_w(i,2), contoor_w(i,1)];
答案 3 :(得分:-1)
使用此pass arr,您要应用条件的键,value是您要检查的键的值。
function removeElem(arr,key,value){
return arr.filter(elem=>elem[key]===value)
}