簡體   English   中英

根據動態屬性更改對象值數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM