数组内的Javascript数组不起作用

时间:2016-11-04 08:06:25

标签: javascript arrays

我是javascript的新手。我试图在数组中实现这个输出,但我真的不能这样做。

输出应为:

["test", "test1"],
["test2", "test3"]

由此:

来自项目的数据:

items = [
    {
       data1: "test",
       data2: "test1"
    },
    {
       data1: "test2",
       data2: "test3"
    },
]

我试图在这里推送到一个新阵列,但没有工作。这里有解决方法吗?

  for (var i = 0; i < items.length; i++) {
      items[i]
  }

3 个答案:

答案 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中的所有值列入数组而不只是data1data2的解决方案:

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)

以下是另一种解决方案:

jsfiddle

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