我有一个动态创建对象的数组。我将使用下一个示例:

const workers = [{
    Construction: 500,
    workers: 0
  },
  {
    Debilite: 800,
    workers: 0
  },
  {
    Marketing: 1200,
    workers: 0
  },
  {
    'Human Resources': 1350,
    workers: 0
  },
]


如何查找属性名称是否存在并更改其值?
例如,如果存在“ Construction”属性,请将其值从500更改为800,而worker应从0更改为1。

最佳答案

您可以找到对象并分配新值。



function update(array, key, values) {
    Object.assign(array.find(o => key in o) || {}, values);
}

const workers = [{ Construction: 500, workers: 0 }, { Debilite: 800, workers: 0 }, { Marketing: 1200, workers: 0 }, { 'Human resources': 1350, workers: 0 }];

update(workers, 'Construction', { Construction: 800, workers: 1 });

console.log(workers);

关于javascript - 如何检查JS中的对象数组中是否存在属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58673699/

10-11 22:00