[英]alter array of object value base on dynamic property
I have array of object like this我有这样的对象数组
let arr = [
{
"james-0": {
"value": "",
"error": false
},
"john-0": {
"value": "",
"error": false
},
"jordan-0": {
"value": "",
"error": false
}
}
]
I want to alter error to true if the value is not false / empty string.如果值不是假/空字符串,我想将错误更改为真。
I tried this but it deosn't seem to work, I can't hardcode james-${i}
我试过了,但它似乎不起作用,我不能硬编码
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
}
})
You can try this approach你可以试试这个方法
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);
. .
simply that ?只是那个?
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.