数组到对象的数组

时间:2014-07-24 07:40:29

标签: javascript arrays underscore.js

我有一个类似

的数组
var myArray = [
  [ '12345678912312', '982322' ],
  [ '98789213123123', '443434' ],
  [ '34534565465645', '387423' ],
  [ '67898798799299', '345334' ],
  [ '09324242342342', '234232' ],
]; 

我想将其转换为一个对象数组,如:

var myObject = [
  {
    id: '12345678912312',
    num: '982322',
    hour: new Date.getHours(),
  },
  {
    id: '98789213123123',
    num: '443434',
    hour: new Date.getHours(),
  },
  {
    id: '34534565465645',
    num: '387423',
    hour: new Date.getHours(),
  },
  {
    id: '67898798799299',
    num: '345334',
    hour: new Date.getHours(),
  },
  {
    id: '09324242342342',
    num: '234232',
    hour: new Date.getHours(),
  },
];

我目前正在使用Underscore,并想知道如何(以及如果)我可以使用_.object和/或_.map来实现这样的目标。

我也希望它是可以回归的东西。 像:

var newVar = _.object(_.map(myArray), function(k, v) {
  // Do something
});

谢谢!

1 个答案:

答案 0 :(得分:6)

如果我理解了您的需求,可以使用简单的javascript原生map

来完成
var myObj = myArray.map(function(el){
            return {id:el[0],num:el[1],hour:new Date().getHours()}
            });