我是javascript的新手。我试图在数组中实现这个输出,但我真的不能这样做。
输出应为:
["test", "test1"],
["test2", "test3"]
由此:
来自项目的数据:
items = [
{
data1: "test",
data2: "test1"
},
{
data1: "test2",
data2: "test3"
},
]
我试图在这里推送到一个新阵列,但没有工作。这里有解决方法吗?
for (var i = 0; i < items.length; i++) {
items[i]
}
答案 0 :(得分:2)
使用Array#map
方法
var items = [{
data1: "test",
data2: "test1"
}, {
data1: "test2",
data2: "test3"
}, ];
console.log(
items.map(function(obj) {
return [obj.data1, obj.data2]
})
);
答案 1 :(得分:1)
使用Array.prototype.reduce
并将items
中的所有值列入数组而不只是data1
和data2
的解决方案:
var items=[{data1:"test",data2:"test1"},{data1:"test2",data2:"test3"}];
var result = items.reduce(function(prev,curr){
prev.push(Object.keys(curr).map(e=>curr[e]));
return prev;
},[]);
console.log(result);
答案 2 :(得分:0)
以下是另一种解决方案:
var items= [
{
data1: "test",
data2: "test1"
},
{
data1: "test2",
data2: "test3"
},
];
for(i in items){
array=[];
for(j in items[i]){
array.push(items[i][j])
}
console.log(array);
}