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

标签 javascript arrays reactjs javascript-objects react-select

所以我有 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 .

关于Javascript 2 对象数组,从一个对象数组中获取值并将其分配给另一个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54618062/

相关文章:

javascript - 向 jQuery Counter 添加千位分隔符

javascript - 为什么我必须从一个模块传播 Vuex getter,而不是从另一个模块传播 Vuex getter?

javascript - onClick 添加参数到 url

javascript - 在 Angular 2 中,如何在某些组件中隐藏侧导航栏

php - PDO 中的操作数选择

c++ - 变量周围的堆栈已损坏

c - 当输入字符串大小较大时字符串数组的存储

javascript - 使用connected-react-router在React + Redux中推送状态

reactjs - 我需要访问一个单击按钮后弹出的新窗口

javascript - 在 React.js 中实现输入标签的自动保存