将JavaScript / Node.JS中的对象转换为数组

5

我有一个像这样的对象:

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

我希望将此转换为仅包含值的数组,并删除其中多余的“el”:
var myArray = [ 123, 234, 345]; 

有没有不使用JSON.parse或其他JSON友好方法的简单方法?我正在寻找老式的JavaScript。
4个回答

12

最优雅的方法是:

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);

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
}

2
当你有本地的map函数时,为什么要使用for循环? - SLV
var arrOfVals = arrOfObjs.map(function(it){ return it.el}) - gabo bernal

4
 var rawArray = [
    {'el': 123},
    {'el': 234}, 
    {'el': 345}
 ]

 var myArray  = rawArray.map(item=>item.el);

0
const _ = require( 'lodash' );
const mappedArray = _.map( arrayToMap, 'el' )

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接