将两个阵列组合为ANGULAR JS中的关键和其他值

时间:2016-05-30 11:07:35

标签: javascript php angularjs

我有两个数组。

dat=['name','value','sub','mark']

dat1=[['mmm','lll','jjj','99'],['ccc','ccc','vvv','55']];

我需要这样的

 $scope.alldata = [{name : mmm, value : lll, sub:jjj, mark :99}, {name : ccc, value : ccc, sub:vvv, mark :55}]

在php中我们可以使用array_combine来完成它。 但我需要角度js。 请帮帮我..

2 个答案:

答案 0 :(得分:3)

您可以使用Array#forEach()和一个对象来填充结果。

var dat = ['name', 'value', 'sub', 'mark'],
    dat1 = [['mmm', 'lll', 'jjj', '99'], ['ccc', 'ccc', 'vvv', '55']],
    result = dat1.map(function (a) {
        var o = {};
        dat.forEach(function (k, i) {
            o[k] = a[i];
        })
        return o;
    });

console.log(result);

答案 1 :(得分:0)

  

Array#reduce

的回调中使用Array#map



var dat = ['name', 'value', 'sub', 'mark'],
  dat1 = [
    ['mmm', 'lll', 'jjj', '99'],
    ['ccc', 'ccc', 'vvv', '55']
  ],
  op = dat1.map(function(item) {
    return item.reduce(function(a, b, index) {
      a[dat[index]] = item[index];
      return a;
    }, {})
  });
console.log(op);