Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除Javascript中的子数组项_Javascript_Jquery_Arrays - Fatal编程技术网

删除Javascript中的子数组项

删除Javascript中的子数组项,javascript,jquery,arrays,Javascript,Jquery,Arrays,如何从JavaScript/jQuery中id=2的以下数组中删除整个子数组项 arr = [{ "id": 1, "name": "Steve" },{ "id": 2, "name": "Martin" },{ "id": 3, "name": "Short" }] 我不知道在这种情况下如何使用grep或splice 我期望的结果是: newArr = [{ "id": 1, "name": "Steve" },{ "

如何从JavaScript/jQuery中id=2的以下数组中删除整个子数组项

arr = [{
    "id": 1,
    "name": "Steve"
},{
    "id": 2,
    "name": "Martin"
},{
    "id": 3,
    "name": "Short"
}]
我不知道在这种情况下如何使用grep或splice

我期望的结果是:

newArr = [{
    "id": 1,
    "name": "Steve"
},{
    "id": 3,
    "name": "Short"
}]
试着在这个上下文中使用

var arr = [ {"id":1,"name":"Steve"} , {"id":2,"name":"Martin"} , {"id":3,"name":"Short"} ];
var newArr = arr.filter(function(itm){
  return itm.id !== 2;
});

您可以在数组上迭代,并在找到id时使用splice

var arr=[{id:1,name:Steve},{id:2,name:Martin},{id:3,name:Short}];
对于var i=0;我为您的问题提供明确的解决方案:

var newArr = arr.filter(function(el) { return el.id!= 2; }); 
console.log(newArr);

我就是这样做的

    var toRemove = "2";
    var toKeep = [];
    var arr = [ {"id":1,"name":"Steve"} , {"id":2,"name":"Martin"} , {"id":3,"name":"Short"} ];

    var listOfItems = JSON.stringify(arr);

    var splitItems = listOfItems.split('},');

    for(var i = 0; i< splitItems.length; i++){

    var details = splitItems[i].split(',');

    if(details[0].split(':')[1] !== toRemove){

    var people = {id:details[0].split(':')[1], name:details[1].split(':')[1].replace('}]', '')};

    toKeep.push(people);

    }


    }

    console.log(toKeep);

@Shanka很乐意帮忙