我试图在对象数组中搜索名为“ SerialNumber”的键,并替换为“ SNo”
var object = [{
"SerialNumber": 001,
"name": "user1"
}, {
"SerialNumber": 002,
"name": "user2"
}];
if ('SerialNumber' in object[0]) {
object.forEach(function (key) {
key.SNo = key.SerialNumber;
delete key.SerialNumber;
});
}
console.log(object)
如果
object = []
,则上面的代码不起作用。是否有更好的方法(性能良好)来搜索对象数组中的键并替换为新键。 最佳答案
您可以使用Array#forEach
并检查密钥是否存在。
function replace(oldKey, newKey, array) {
array.forEach(function (o) {
if (oldKey in o) {
o[newKey] = o[oldKey];
delete o[oldKey];
}
});
}
var object = [{ "SerialNumber": '001', "name": "user1" }, { "SerialNumber": '002', "name": "user2" }];
replace('SerialNumber', 'SNo', object);
console.log(object);