Javascript 2个对象数组,从一个对象数组中获取一个值并将其赋值给另一个对象数组

Javascript 2 arrays of objects , get a value from one array of objects and assign it to the other array of objects

所以我有 2 个对象数组,我想从一个对象中获取名称值并将其分配给标签和值。这就是我正在做的。

let newAreas = [{ label: '', value: '' }];
let areas = [{name: 'Haram', condition: true, counter: 5}, {name: 'Nasr City', condition: false, counter: 3}, {name: 'Faisl', condition: true, counter: 7}];  

我想获取每个名称并将它们分配给标签和值,所以现在我循环

areas.map(area => {
      newAreas.map(val => {
        val.label = area.name;
        val.value = area.name;
  });
});

    console.log(newAreas);

但这只会让我得到最后的价值我在这里做错了什么?

您只想使用map一次,并检索返回值:

const areas = [
  {name: 'Haram', condition: true, counter: 5}, 
  {name: 'Nasr City', condition: false, counter: 3}, 
  {name: 'Faisl', condition: true, counter: 7}
];

const newAreas = areas.map(({name}) => ({label: name, value: name}));

console.log(newAreas);

这利用了object destructuring