[英]Remove Object have same property value from Array object when input is Array of property value Javascript
[英]remove object from array which have same values in javascript
我正在初始化帶有動態對象的數組,結果如下
var arr = [
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0}
];
現在我想從此數組中刪除任何對象,但找不到合適的解決方案。 有人可以幫我怎么做。
我想從此數組中刪除任何對象,但找不到合適的解決方案
您可以使用splice方法,它接受要刪除元素的index(start)以及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)
首先,您必須知道要刪除哪個對象(例如,id = x的對象)
那么你可以使用這段代碼
arr = arr.filter(function(e){ return e.id != x });
伙計們非常感謝您的幫助。 我已找到解決此問題的方法,以下是我想要的。
這是設置初始值的數組。
var arr = [
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0},
{id: "", name: "", quantity: 0}
];
II可以刪除任何這樣的對象:
arr.splice(arr[index], 1);
解決方案是過濾具有以下非空值的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變量將更新為帶有非空字段的新對象數組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.