我正在使用动态对象初始化数组,结果正在跟随
var arr = [
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0}
];
现在我想从这个数组中删除任何对象,但没有找到合适的解决方案。有人可以帮我怎么做。
答案 0 :(得分:1)
我想从这个数组中删除任何对象,但找不到合适的对象 溶液
您可以使用splice方法,它接受要删除的元素的索引(开始)以及要从起始索引中删除的元素数量的deleteCount
var arr = [{
id: "1",
name: "A",
quantity: 1
},
{
id: "2",
name: "B",
quantity: 2
},
{
id: "3",
name: "C",
quantity: 3
},
{
id: "4",
name: "D",
quantity: 4
}
];
arr.splice(1, 1)
console.log(arr)
答案 1 :(得分:1)
在开头你必须知道要删除它的对象(例如id = x的对象)
然后你可以使用这段代码
arr = arr.filter(function(e){ return e.id != x });
答案 2 :(得分:1)
伙计们非常感谢你的帮助。我找到了解决这个问题的方法,以下是我想要的。
这是我设置初始值的数组。
var arr = [
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0}
];
我可以删除这样的任何对象:
arr.splice(arr[index], 1);
答案 3 :(得分:0)
解决方案是过滤你的arr数组,它具有非空值,如下所示:
var arr = [
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0}
];
arr = arr.filter((obj)=>obj.id!==''); // you can use any field to filter
arr = arr.filter((obj)=>obj.id!=='' || obj.name!=='');// multiple fields to filter
现在您的arr变量将使用非空字段的新数组对象进行更新