【问题标题】:Javascript 2 arrays of objects , get a value from one array of objects and assign it to the other array of objectsJavascript 2对象数组,从一个对象数组中获取一个值并将其分配给另一个对象数组
【发布时间】:2019-07-04 05:02:04
【问题描述】:

所以我有 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 不会更改现有数组,而是返回一个新数组。
  • 您想从区域数组中的每个对象中获取标签等于名称且值等于名称的新对象?
  • 你能写下你想要的输出吗?
  • 这并不是newAreas 作为一个具有一个对象的数组所扮演的角色。那只是作为您想要的对象的模板吗?也不清楚你需要两个具有相同值的键。
  • 试试这个 newAreas.push()

标签: javascript arrays reactjs javascript-objects react-select


【解决方案1】:

您只想使用一次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

【讨论】:

  • 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
  • 2021-07-22
相关资源
最近更新 更多