在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
你觉得这是一个怎样的答案???你觉得它不是吗?