我想知道是否找不到屬性只是添加到javascript中的物件陣列
在 arrobj 中,一個特定的物件沒有 value 屬性,所以需要使用 javascript 添加
var arrobj=[
{id:1, name: "ram", value: 100},
{id:2, name: "ben", value: 100},
{id:3, name: "laks"}
]
Expected Output
[
{id:1, name: "ram", value: 100},
{id:2, name: "ben", value: 100},
{id:3, name: "laks", value: null}
]
我試過
const result = arrobj.forEach(e=>{
if(!e.hasOwnProperty("value"){
e.value=null
}
});
uj5u.com熱心網友回復:
你可以使用地圖
const result = arrobj.map((e) => {
if (!e.hasOwnProperty('value')) {
e.value = null;
}
return e;
});
uj5u.com熱心網友回復:
您使用的方法中只有一個錯字。您錯過了)在 if 陳述句中關閉 a 。以下作品:
var arrobj=[
{id:1, name: "ram", value: 100},
{id:2, name: "ben", value: 100},
{id:3, name: "laks"}
]
const result = arrobj.forEach(e=>{
if(!e.hasOwnProperty("value")){
e.value=null
}
});
console.log(arrobj)
這是使用 for 回圈的方法。
var arrobj=[
{id:1, name: "ram", value: 100},
{id:2, name: "ben", value: 100},
{id:3, name: "laks"}
]
for (var i = 0; i<arrobj.length;i ){
if (arrobj[i].id == undefined){arrobj[i].id = null}
if (arrobj[i].name == undefined){arrobj[i].name = null}
if (arrobj[i].value == undefined){arrobj[i].value = null}
}
console.log(arrobj)
uj5u.com熱心網友回復:
而不是在@Hakime Sheikhalishahi 的回答
中Array#forEach使用Array#map AND回傳。請注意:除了if 陳述句中缺少之外,您的代碼僅在更改原始陣列時才起作用。從您使用的變數看來,您的意圖是創建一個新陣列。總是創建一個新陣列并保持原始陣列不變。e)Array#map
const
arrobj=[ {id:1, name: "ram", value: 100}, {id:2, name: "ben", value: 100}, {id:3, name: "laks"} ],
result = arrobj.map(e=> {
if(!e.hasOwnProperty("value")) {
e.value = null
}
return e;
});
console.log( result );
解構
您還可以按如下方式使用解構:
const
arrobj=[ {id:1, name: "ram", value: 100}, {id:2, name: "ben", value: 100}, {id:3, name: "laks"} ],
result = arrobj.map(({value,...rest}) => ({...rest,value: value || null}));
console.log( result );
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/462024.html
標籤:javascript 数组 循环 目的
