我有一个多维数组,如下所示:
[
[
{ name: "jeff", job: "cleaner" },
{ name: "kate", job: "cashier" }
],
[
{ name: "alice", job: "engineer" },
{ name: "sean", job: "writer" },
{ name: "ruby", job: "police officer" }
],
[
{ name: "sarah", job: "writer" },
{ name: "john", job: "cleaner" }
]
]
我正在寻找一种快速简洁的方法来查找此结构中的一个对象,其中一个属性与某个值匹配,然后完全删除该对象。
例如,假设我想找到job
的属性为writer
的所有对象,并从结构中删除这些对象。
请记住,我会保持此阵列的当前结构完整无缺,只删除相关对象。
答案 0 :(得分:1)
我使用的是hasOwnProperty
功能,我不会从this question获得赞誉。
你可以这样做,使用该功能:
arr.forEach(function (subArr, index, myArr) {
myArr[index] = subArr.filter(function (obj) {
if (hasOwnProperty(obj, "job") && obj["job"] === "writer") {
return false;
}
return true;
});
});