如何将字典数组转换为数组数组?

时间:2016-03-05 04:06:51

标签: javascript

如何轻松转换此字典(字典数组):

[ { a: 1,
    b: 1,
    c: 'something',
    d: 1 },
  { a: 23443,
    b: 2111,
    c: 'something 2',
    d: 1456 }
]

到此(数组数组):

[ [ 1,
    1,
    'something',
    1 ],
  [ 23443,
    2111,
    'something2',
    1456 ]
]

1 个答案:

答案 0 :(得分:3)

  

使用Array.prototype.mapfor-in循环

map()方法创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数

for...in语句迭代对象的可枚举属性

试试这个:

var input = [{
  a: 1,
  b: 1,
  c: 'something',
  d: 1
}, {
  a: 23443,
  b: 2111,
  c: 'something2',
  d: 1456
}];
var op = input.map(function(inp) {
  var arr = [];
  for (var i in inp) {
    arr.push(inp[i]);
  }
  return arr;
});
console.log(op);

或使用Object.keys(YOUR_OBJECT)

var input = [{
  a: 1,
  b: 1,
  c: 'something',
  d: 1
}, {
  a: 23443,
  b: 2111,
  c: 'something2',
  d: 1456
}];
var op = input.map(function(inp) {
  return Object.keys(inp).map(function(key) {
    return inp[key];
  })
});
console.log(op);