我有一个对象数组,如下所示。
states: Array[3]
[0-2]
0:Object
Value: "34343"
1:Object
Value: "2332"
2:Object
Value: "2333"
我想将上面的对象数组转换为数组列表,如下所示。有人可以让我知道如何在javascript中实现这样的事情。
states: ["34343", "2332", "2333"]
答案 0 :(得分:1)
var inputArray = [{
value: 1
}, {
value: 2
}];
var normalizedArray = inputArray.map(function(obj) {
return obj.value;
});
console.log(normalizedArray.join(","))

您可以使用Array.map
答案 1 :(得分:1)
最好的方法是在评论中建议:
(其中var arr是你的数组)
new_arr = arr.map(el => el.Value)
这是一个利用最新的es6功能array.prototype.map和箭头功能的简洁解决方案。
如果你没有在你的项目中使用es6,你可能会遇到普通的es5 - 也许你有下划线或者lodash?在那种情况下:
new_arr = _.map(arr, function(el) {
return el.Value;
});
如果你没有下划线并且没有es6,你可能不得不使用循环来自己采用“旧”的方式:
new_arr = []
for (var i = 0, j = arr.length; i < j; i++) {
new_arr.push(arr[i].Value);
}
答案 2 :(得分:0)
或在ES6中
var stateObject = [{value : 123}, {value : 654}, {value : 654}];
var stateArray = stateObject.map(item => item.value);
console.log(stateArray); // [ 123, 654, 654 ]