![](/img/trans.png)
[英]How to remove a simple specific key value pair from all objects and add to one specific object inside an array
[英]Remove all items except specific from array inside object
試圖從 object 中的數組中刪除所有項目,但出現此錯誤無法刪除 [object Array] 的屬性“0”
object 陣列:
let tempBrand = [
{
name: "Toshiba",
models:["Toshiba Excite Pro","Toshiba Regza AT300","Toshiba Regza AT1S0","Toshiba Folio
100","Toshiba G500","Toshiba AT720"]
}
]
let tagsData= ["Toshiba Regza AT300","Toshiba Regza AT1S0"]
這就是我想要做的。
for (let i = 0; i < tempBrand.length; i++){
tempBrand[i].models.length = 0;
for (let j = 0; j < tempBrand[i].models.length; j++){
if (tempBrand[i].models[j] !== tagsData[i]) {
delete tempBrand[i].models[j];
}
}
}
我無法准確理解您要實現的目標,但這是我從您的問題中理解的實現。 正如您更新的問題,這里是更新的答案。 如果您想堅持使用迭代方法,您可以使用該方法,或者如評論中所述,您可以使用 es6 方法進行函數式編碼。
let tempBrand = [
{
name: "Toshiba",
models:["Toshiba Excite Pro","Toshiba Regza AT300","Toshiba Regza AT1S0","Toshiba Folio 100","Toshiba G500","Toshiba AT720"]
}
]
let tagsData= ["Toshiba Regza AT300","Toshiba Regza AT1S0"];
for (let i=0 ; i<tempBrand.length;i++)
for(let j=0 ; j<tempBrand[i].models.length;j++){
if(tagsData.includes(tempBrand[i].models[j]))
{
console.log({item : tempBrand[i].models[j]});
tempBrand[i].models.splice(j, 1);
}
}
console.log({tempBrand})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.