将对象数组转换为数组列表(javascript)
我有一个对象数组,如图所示将对象数组转换为数组列表(javascript),javascript,arrays,loops,object,underscore.js,Javascript,Arrays,Loops,Object,Underscore.js,我有一个对象数组,如图所示 states: Array[3] [0-2] 0:Object Value: "34343" 1:Object Value: "2332" 2:Object Value: "2333" 我想将上面的对象数组转换为数组列表,如下所示。有人能告诉我如何在javascript中实现这样的功能吗 states: ["34343", "2332", "2333"] var输入阵列=[{ 价值:1 }, { 价值:2 }]; var no
states: Array[3]
[0-2]
0:Object
Value: "34343"
1:Object
Value: "2332"
2:Object
Value: "2333"
我想将上面的对象数组转换为数组列表,如下所示。有人能告诉我如何在javascript中实现这样的功能吗
states: ["34343", "2332", "2333"]
var输入阵列=[{
价值:1
}, {
价值:2
}];
var normalizedArray=inputArray.map(函数(obj){
返回对象值;
});
console.log(normalizedArray.join(“,”)
var输入阵列=[{
价值:1
}, {
价值:2
}];
var normalizedArray=inputArray.map(函数(obj){
返回对象值;
});
console.log(normalizedArray.join(“,”)
或在ES6中
var stateObject = [{value : 123}, {value : 654}, {value : 654}];
var stateArray = stateObject.map(item => item.value);
console.log(stateArray); // [ 123, 654, 654 ]
或者在ES6中
var stateObject = [{value : 123}, {value : 654}, {value : 654}];
var stateArray = stateObject.map(item => item.value);
console.log(stateArray); // [ 123, 654, 654 ]
最好的方法是按照评论中的建议: (其中var arr是您的数组) 这是一个巧妙的解决方案,它利用了最新的es6特性array.prototype.map和arrow函数 如果您在项目中没有使用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);
}
new_arr=[]
对于(变量i=0,j=arr.length;i
最好的方法是在评论中建议:
(其中var arr是您的数组)
这是一个巧妙的解决方案,它利用了最新的es6特性array.prototype.map和arrow函数
如果您在项目中没有使用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);
}
new_arr=[]
对于(变量i=0,j=arr.length;i
阵列映射的完美用例arr.map((el)=>(el.Value))
@Rayon-你能用我当前的上下文详细说明一下吗…可以使用任何类型的循环。只需在数组上循环,访问每个元素的Value
属性,并将其放入结果中。这些都是琐碎的操作。@AkankshaIyer–首先,是Array\map
的完美用例arr.map((el)=>(el.Value))
@Rayon-你能用我当前的上下文详细说明一下吗…可以使用任何类型的循环。只需在数组上循环,访问每个元素的Value
属性,并将其放入结果中。这些都是琐碎的操作。@AkankshaIyer–首先,为什么将演示放在JSFIDLE而不是堆栈片段中?为什么将演示放在JSFIDLE而不是堆栈片段中?有多种(ES5+)方法可以迭代中给定的数组。有多种(ES5+)方法可以迭代中给定的数组