【问题标题】:How to put values from an array of objects into a new array in JavaScript如何将对象数组中的值放入 JavaScript 中的新数组中
【发布时间】:2018-09-22 11:00:52
【问题描述】:

我有这个对象数组:

const array = [
  {id: 35, id_city: 27, id_district: 453},
  {id: 36, id_city: 27, id_district: 454}
];

我希望将“id_district”值放入一个新数组中,因此结果应该是:

const ArraydDistrict = [453,454];

我想答案很简单,我只是这方面的新手,所以任何帮助都将不胜感激。谢谢

【问题讨论】:

标签: javascript


【解决方案1】:

您可以使用Array.map 来返回值。

const array = [
               {id: 35, id_city: 27, id_district: 453},
               {id: 36, id_city: 27, id_district: 454},
              ];

const result = array.map(el => {  return el.id_district})

//Results in [453, 454]

您还可以使用隐式返回来减少冗长。

const result = array.map(el => el.id_district)

如果你想变得花哨,ES6 让你这样做

const result = Array.from(array, el => el.id_district)

【讨论】:

  • 你也可以省略idx参数来减少冗长...
  • @Bergi 是的,谢谢,这只是我养成的一个坏习惯,因为我经常使用索引 :)
【解决方案2】:

这似乎是 Array.map 的一个用例

const arr = [{id: 35, id_city: 27, id_district: 453},{id: 36, id_city: 27, id_district: 454}];

const processedArr = arr.map(o => o.id_district);
console.info(processedArr);

看看 Array.map、Array.filter、Array.reduce 所有这些函数在数组处理中都非常方便。

【讨论】:

    【解决方案3】:

    您可以使用以下解决方案将对象数组中的值放入 JavaScript 中的新数组中:

    const ArraydDistrict = [];
    const array = [
        {id: 35, id_city: 27, id_district: 453},
        {id: 36, id_city: 27, id_district: 454},
    ];
    
    array.forEach(function(item) {
      ArraydDistrict.push(item.id_district);
    });
    
    console.log(ArraydDistrict);
    

    【讨论】:

    • @MikeM 也被称为“重新发明轮子”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    • 2016-08-06
    相关资源
    最近更新 更多