我有3个不同的数组,一个带有表的列名,另一个带有数据。我怎样才能将它们组合成一个在AngularJS中的单个json对象?
var keyArray = ["Col1","Col2","Col3",...];
var ValArray1 = ["v1.1","v1.2","v1.3",...];
var ValArray2 = ["v2.1","v2.2","v2.3",...];
我想要一个像这样的json
entries[
{
name: "Col1",
value: "v1.1"
},
{name: "Col2",
value: "v1.2"
},
...,
{name: "Col3",
value: "v2.3"
}
]
这样可以吗 您根本不需要angularjs。
var addToArray = function(entries, keys, values){
for(var i = 0; i < keys.length; i++){
if(keys[i] && values[i]) {
var obj = {};
obj[keys[i]] = values[i];
entries.push(obj);
}
}
}
var entries = [];
addToArray(entries, keyArray, ValArray1);
addToArray(entries, keyArray, ValArray2);
如果您想使用角度物体,则可以angular.forEach
改用
这将把键与数组1混合,然后将键与数组2混合。.我这样做是因为在您的问题中没有明确说明何时停止使用数组1并开始使用数组2(在使用了所有值之后)数组二,也许吗?)
无论如何,出于您的目的,我认为关键是
obj[keys[i]] = values[i];
这将使您可以使用数组中的字符串创建属性名称
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句