Lodash删除以基于id属性从数组中删除对象

时间:2016-08-21 23:15:21

标签: javascript arrays lodash

我正在查看remove()的lodash文档,我不知道如何使用它。

说我有一群朋友,

[{ friend_id: 3, friend_name: 'Jim' }, { friend_id: 14, friend_name: 'Selma' }]

如何从好友阵列中删除friend_id: 14

3 个答案:

答案 0 :(得分:8)

Remove使用谓词函数。见例:

function _$(e, attrs) {
    var el = document.createElement(e);
    for(a in attrs){
        el.setAttribute(a, attrs[a]);
    }
}

   var $taskMain = _$("section", { "class": "sdfjsf", "id": "taskId", "data-id-number": "sajfsaf"});

//and i have error
//template.js:80 Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
    currentCollon.appendChild($taskMain);
{{1}}

答案 1 :(得分:4)

您可以使用过滤器。

var myArray = [1, 2, 3];

var oneAndThree = _.filter(myArray, function(x) { return x !== 2; });

console.log(allButThisOne); // Should contain 1 and 3.

编辑:对于您的特定代码,请使用:

friends = _.filter(friends, function (f) { return f.friend_id !== 14; });

答案 2 :(得分:0)

您也可以这样

list.splice(_.findKey(this.list, function(e) {
    return e.id === 12;
}), 1);