我有这样的对象数组
let arr = [
{
"james-0": {
"value": "",
"error": false
},
"john-0": {
"value": "",
"error": false
},
"jordan-0": {
"value": "",
"error": false
}
}
]
如果值不是false /空字符串,我想将错误更改为true。
我尝试过此操作,但似乎无法正常工作,我无法硬编码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
}
})
答案 0 :(得分:0)
您可以尝试这种方法
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);
。
答案 1 :(得分:0)
就是那个吗?
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 )