如何在lodash

时间:2017-11-22 05:25:22

标签: javascript node.js lodash

我有一个对象数组,我需要根据条件删除一些对象。如何使用lodash map函数实现它? 例如:

[{a: 1}, {a: 0}, {a: 9}, {a: -1}, {a: 'string'}, {a: 5}]

我需要删除

{a: 0}, {a: -1}, {a: 'string'}

我怎样才能实现它?

4 个答案:

答案 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 });

https://lodash.com/docs/4.17.4#filter

答案 2 :(得分:1)

除了_.remove或_.filter之外,您还可以使用reject()

P = [contoor_w(i,2), contoor_w(i,1)];

https://jsfiddle.net/7z5n5ure/

答案 3 :(得分:-1)

使用此pass arr,您要应用条件的键,value是您要检查的键的值。

function removeElem(arr,key,value){
    return arr.filter(elem=>elem[key]===value)
}