转换数组对象到数组列表(javascript)

Convert array of objects into array list (javascript)

本文关键字:数组 javascript 对象 转换 列表      更新时间:2023-09-26

我有一个如下所示的对象数组。

states: Array[3]
[0-2]
 0:Object
     Value: "34343"
 1:Object
     Value: "2332"
 2:Object
     Value: "2333"

我想将上面的对象数组转换为如下所示的数组列表。有人能让我知道如何在javascript中实现这样的东西。

states: ["34343", "2332", "2333"]

var inputArray = [{
  value: 1
}, {
  value: 2
}];
var normalizedArray = inputArray.map(function(obj) {
  return obj.value;
});
console.log(normalizedArray.join(","))

可以使用Array.map

最好的方法是按照评论中的建议:

(其中var arr是你的数组)

new_arr = arr.map(el => el.Value)

这是一个巧妙的解决方案,它利用了最新的es6特性array.prototype.map和箭头函数。

如果你没有在你的项目中使用es6,你可能会坚持使用普通的旧es5 -也许你有下划线或破折号?在这种情况下:

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

或者在ES6中

var stateObject = [{value : 123}, {value : 654}, {value : 654}];
var stateArray = stateObject.map(item => item.value);
console.log(stateArray); // [ 123, 654, 654 ]