我有一個對象,看起來像這樣:的JavaScript/Node.js的一個對象轉換成數組
[
{'el': 123},
{'el': 234},
{'el': 345}
]
我想將其轉換爲持有隻是值的數組,並刪除多餘的' el'裏面:
var myArray = [ 123, 234, 345];
有沒有簡單的方法來做到這一點,而不使用JSON.parse或其他JSON友好的方法?老式的Javascript是我正在尋找的。
我有一個對象,看起來像這樣:的JavaScript/Node.js的一個對象轉換成數組
[
{'el': 123},
{'el': 234},
{'el': 345}
]
我想將其轉換爲持有隻是值的數組,並刪除多餘的' el'裏面:
var myArray = [ 123, 234, 345];
有沒有簡單的方法來做到這一點,而不使用JSON.parse或其他JSON友好的方法?老式的Javascript是我正在尋找的。
您可以簡單地遍歷對象數組,然後只將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
}
最優雅的方式是:
var arrayToMap = [
{'el' : 123},
{'el' : 234},
{'el' : 345}
];
var mappedArray = arrayToMap.map(function (item) { return item.el; });
你也可以這樣做:
var mappedArray = [
{'el' : 123},
{'el' : 234},
{'el' : 345}
].map(function (item) { return item.el; });
var rawArray = [
{'el': 123},
{'el': 234},
{'el': 345}
]
var myArray = rawArray.map(item=>item.el);
const _ = require('lodash');
const mappedArray = _.map(arrayToMap, 'el')
爲什麼要使用一個for循環,當你有本地的地圖功能? – SLV
'var arrOfVals = arrOfObjs.map(function(it){return it.el})' –