[英]COMBINE TWO ARRAYS ONE AS KEY AND OTHER AS VALUE IN ANGULAR JS
我有两个数组。
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做到这一点。 但是我在angular js中需要它。 请帮我..
您可以使用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);
在
Array#map
的回调中使用Array#reduce
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.