在javascript中创建动态关联数组

在javascript中创建动态关联数组,javascript,jquery,associative-array,Javascript,Jquery,Associative Array,索引数组 var index = ['a','b','c','d']; finalRes = [{ a:'Val3', b:'Val1', c:'Val2', d:'Val4' },{ a:'Val7', b:'Val5', c:'Val6', d:'Val8' }]; 索引数组可以有任意数量的项 结果是一个关联数组,其键与索引项相同: result = [{ b:'Val1', c:'Val2', a:'Val3', d:'Val4' },{ b:'Val5', c:'Val6', a:'

索引数组

var index = ['a','b','c','d'];
finalRes = [{ a:'Val3', b:'Val1', c:'Val2', d:'Val4' },{ a:'Val7', b:'Val5', c:'Val6', d:'Val8' }];
索引数组可以有任意数量的项

结果是一个关联数组,其键与索引项相同:

result = [{ b:'Val1', c:'Val2', a:'Val3', d:'Val4' },{ b:'Val5', c:'Val6', a:'Val7', d:'Val8' }];
我必须创建另一个数组,其中键的顺序与索引数组的顺序相同

var index = ['a','b','c','d'];
finalRes = [{ a:'Val3', b:'Val1', c:'Val2', d:'Val4' },{ a:'Val7', b:'Val5', c:'Val6', d:'Val8' }];

任何帮助都将不胜感激。谢谢。

不保证javascript对象中的属性顺序。如果要指定键的顺序,则必须保留键的有序数组以及生成的数组

:

4.3.3对象对象是对象类型的成员。它是一个无序的属性集合,每个属性都包含一个基元 值、对象或函数。存储在函数的属性中的函数 对象称为方法

来源:

让我们看看

var index = ['a','b','c','d'];
result = [{ b:'Val1', c:'Val2', a:'Val3', d:'Val4' },{ b:'Val5', c:'Val6', a:'Val7', d:'Val8' }];

finalRes = [{ a:'Val3', b:'Val1', c:'Val2', d:'Val4' },{ a:'Val7', b:'Val5', c:'Val6', d:'Val8' }];
最终结果可以通过循环创建

var finalRes = [];
for (var l=0; l<result.length; l++) {
  var res = {};
  for(var x=0; x<index.length; x++) {
     var i = index[x]; //i is the index value..
     res[i] = result[l][i];
  }

  finalRes[l] = res;
}
var finalRes=[];

对于(var l=0;l,这里有一个您真正想要的完美解决方案:在这里测试。有关解释,请参阅注释

var index = ['a','b','c','d'];
result = [{ b:'Val1', c:'Val2', a:'Val3', d:'Val4' },{ b:'Val5', c:'Val6', a:'Val7', d:'Val8' }];

var finalRes = [];

for (var i = 0; i<result.length; i++){
    //We get each slice of result array here
    //Lets begin a fresh array of this particular array
    thisArray = [];

    for (var j = 0; j<index.length; j++){
        //Now Preparing the particular Array
        var key = index[j]; //Key of Index Array
        thisArray[key] = result[i][key]
        // What we did just before is:
        // We created an Element Inside this Particular Array with reference of index and value of result
    }

    finalRes.push(thisArray);

}
console.log(finalRes); //Required Array
console.log(finalRes[0]["a"]); //Checking Elements

你觉得这是一个怎样的答案???你觉得它不是吗?