3

我有一个看起来像这样的对象:

[
  {'el': 123},
  {'el': 234}, 
  {'el': 345}
]

我想将其转换为仅包含值的数组,并删除其中多余的“el”:

var myArray = [ 123, 234, 345]; 

有什么简单的方法可以做到这一点,而不使用 JSON.parse 或其他 JSON 友好的方法?老式的 Javascript 是我正在寻找的。

4

4 回答 4

10

最优雅的方式是:

let arrayToMap = [
  {'el' : 123},
  {'el' : 234},
  {'el' : 345}
];
let mappedArray = arrayToMap.map(item => item.el);

你也可以这样做:

let mappedArray = [
  {'el' : 123},
  {'el' : 234},
  {'el' : 345}
].map(item => item.el);
于 2014-02-18T09:44:38.140 回答
7

您可以简单地循环对象数组,仅push()将值循环到一个新对象中。

var arrOfObjs = [
    { 'el' : 123 } ,
    { 'el' : 234 }, 
    { 'el' : 345 }
];

var arrOfVals = [];
for each( var obj in arrOfObjs ) {
    arrOfVals.push( obj.el );
}

for each( var val in arrOfVals ) {
    console.log( val ); // 123, 234, 345
}
于 2013-09-30T10:11:16.030 回答
4
 var rawArray = [
    {'el': 123},
    {'el': 234}, 
    {'el': 345}
 ]

 var myArray  = rawArray.map(item=>item.el);
于 2017-09-27T06:40:54.473 回答
0
const _ = require( 'lodash' );
const mappedArray = _.map( arrayToMap, 'el' )
于 2017-09-27T06:52:32.230 回答