无论如何,有没有建立一个类型的集合:

var demoObject =
{
  param1: value1,
  param2: value2,
  param3: value3,
  ...
}


其中param和value都来自输入数组,并且可以扩展为'n'个值,即demo对象应该是动态的。

问题:我正在比较两个数组,并希望根据某些条件填充以上集合。从两个数组中的任何一个均可轻松获取paramX和valueX。

我已经尝试过:拼接并生成自己的数组,使用angular.forEach ...建立自定义对象...但没有任何输出以上述格式“ var demoObject”给我结果。
我正在馈送此对象的API需要固定的JSON格式,并且我打算做angular.ToJson(demoObject)
感谢任何投入,想法。

最佳答案

我认为您想要的是这样的:

var demoObject = {};
var someArray = [
    {useIt: true, paramName: 'jane', value: 'hi there'},
    {useIt: false, paramName: 'tom', value: 'bonjour'},
    {useIt: true, paramName: 'mary', value: 'hola'}
];

var paramNum = 1;
for (var i=0; i<someArray.length; i++) {
    if (someArray[i].useIt) {
        demoObject[someArray[i].paramNname] = someArray[i].value;
    }
}

console.log(demoObject);
// Object {jane: "hi there", mary: "hola"}

console.log(demoObject.jane);
// hi there

关于javascript - 根据随机输入数组在AngularJS中修改集合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41557073/

10-12 12:32