[英]alter array of object value base on dynamic property
我有這樣的對象數組
let arr = [
{
"james-0": {
"value": "",
"error": false
},
"john-0": {
"value": "",
"error": false
},
"jordan-0": {
"value": "",
"error": false
}
}
]
如果值不是假/空字符串,我想將錯誤更改為真。
我試過了,但它似乎不起作用,我不能硬編碼james-${i}
arr = arr.map((o,i) => {
let prop = o[`james-${i}`]
if(!prop.value) prop.error = true
console.log(prop)
return {
...o,
[`james-${i}`]: prop
}
})
你可以試試這個方法
let arr = [ { "james-0": { "value": "", "error": false }, "john-1": { "value": "", "error": false }, "jordan-2": { "value": "val", "error": false } } ]; arr = arr.map(value => { Object.keys(value).forEach(key => { if (!value[key].value) { value[key].error = true; } }) return value; }) console.log(arr);
.
只是那個?
let arr = [ { "james-0": { "value": "", "error": false } , "john-0": { "value": "abc", "error": false } , "jordan-0": { "value": "", "error": false } } ] Object.keys(arr[0]).forEach( e=> arr[0][e].error = ( arr[0][e].value == '')) console.log( arr )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.