我有一个10000个对象的数组.每个对象都是这样的:
{"id":5,"name": "Jordin Sparks}
对于我来说,重命名键的最有效和最快的方法是什么,以便数组中的每个对象变为:
{"num":5,"fullname": "Jordin Sparks"}
最佳答案
就个人而言,我会这样做.
function renameKeys(arr,nameMap) {
// loop around our array of objects
for(var i = 0; i < arr.length; i++) {
var obj = arr[i];
// loop around our name mappings
for(var j = 0; j < nameMap.length; j++) {
var thisMap = nameMap[j];
if(obj.hasOwnProperty(thisMap.from)) {
// found matching name
obj[thisMap.to] = obj[thisMap.from];
delete obj[thisMap.from];
}
}
}
}
您可以这样称呼它,其中myArray是您的对象数组.
renameKeys(myArray,[
{from: "id",to: "num" },{ from: "name",to: "fullname" }
]);