如何使用javascript或angular js从数组中删除对象?

时间:2015-06-11 19:09:39

标签: javascript jquery angularjs

我正在尝试从数组中删除对象并获取结果数组。我正在使用删除函数,但它无法正常工作 这是我的输入

我需要删除具有"file": "Id"

的所有数组值

这是我的小提琴

for (var i = 0; i < arr.length; i++) {
    for (var k = 0; i < arr[i].columns.length; i++)
    arr[i].columns[0].remove()
}

3 个答案:

答案 0 :(得分:0)

您可以尝试使用此函数删除具有"file": "Id"

的所有数组值
for(var i=0; i<arr.length;i++){
    for (var k=0; k < arr[i].columns.length; k++){
        if(arr[i].columns[k].fieldNameOrPath == 'Id'){
            arr[i].columns.splice(k,1)
        }
    }
}

答案 1 :(得分:0)

递增k

时出现轻微错误
for(var i=0; i<arr.length;i++){
    for (var k=0; k<arr[i].columns.length;k++)
    delete arr[i].columns[0]
}

Updated JS Fiddle

答案 2 :(得分:0)

您可以使用Underscore.js

var result = _.map(arr, function(obj){ 
                return {
                    columns: _.reject(obj['columns'], function(innerObj){
                                return innerObj['fieldNameOrPath'] == 'Id';
                            })
                }
            });