我想知道下面两个编码范例中是否存在一些性能问题。哪一个最好,为什么?
var data = [{
"name": "ABC",
"code": 1,
"age": 97
},{
"name": "XYZ",
"code": 12,
"age": 12
},{
"name": "LMN",
"code": 121,
"age": 172
}
];
var response = [];
方法1
data.forEach(function(entry){
var obj = {
"NAME": entry["name"],
"AGE": entry["age"]
};
response.push(obj);
});
方法2
data.forEach(function(entry){
var obj = {};
obj["NAME"] = entry["name"];
obj["AGE"] = entry["age"];
response.push(obj);
});
对于输出对象,我想说一下,假设100个键中只有10个键
该对象中有许多键。示例中仅显示受限。选择哪种编码标准,为什么?请,有人可以解释吗?
最佳答案
无需创建对象,然后进行Array.prototype.push()即可进行每次循环迭代...
您可以直接使用Array.prototype.map()代替Array.prototype.forEach(),并通过dot notation更好地访问对象属性值:
const data = [{
"name": "ABC",
"code": 1,
"age": 97
},{
"name": "XYZ",
"code": 12,
"age": 12
},{
"name": "LMN",
"code": 121,
"age": 172
}
];
const response = data.map(obj => ({
NAME: obj.name,
AGE: obj.age
}));
console.log(response)
关于javascript - javascript对象的性能相关问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52220337/