var addObjectResponse = [{
'SPO2': '222.00000',
'VitalGroupID': 1152,
'Temperature': 36.6666666666667,
'DateTimeTaken': '/Date(1301494335000-0400)/',
'UserID': 1,
'Height': 182.88,
'UserName': 'Admin',
'BloodPressureDiastolic': 80,
'Weight': 100909.090909091,
'TemperatureMethod': 'Oral',
'Resprate': 111,
'HeartRate': 111,
'BloodPressurePosition': 'Standing',
'VitalSite': 'Popliteal',
'VitalID': 1135,
'Laterality': 'Right',
'HeartRateRegularity': 'Regular',
'HeadCircumference': '',
'BloodPressureSystolic': 120,
'CuffSize': 'XL',
}];
Run Code Online (Sandbox Code Playgroud)
如何重命名键...像SPO2一样进入O2 ......数组中有这么多对象......
Ili*_*oly 18
也许是这样的?
var i, len = addObjectResponse.length;
for (i = 0; i < len; i++) {
addObjectResponse[i]['O2'] = addObjectResponse[i]['SPO2'];
delete addObjectResponse[i]['SPO2'];
}
Run Code Online (Sandbox Code Playgroud)
要么
addObjectResponse = addObjectResponse.map(function (obj) {
obj['O2'] = obj['SP02'];
delete obj['S02'];
return obj;
});
Run Code Online (Sandbox Code Playgroud)
要么
for (let obj of addObjectResponse) {
obj['O2'] = obj['SP02'];
delete obj['S02'];
}
Run Code Online (Sandbox Code Playgroud)
要么
function renameProperty(obj, fromKey, toKey) {
obj[toKey] = obj[fromKey];
delete obj[fromKey];
}
addObjectResponse.forEach(obj => renameProperty(obj, 'SP02', 'O2'));
Run Code Online (Sandbox Code Playgroud)
Jon*_*Jon 12
您无法直接重命名属性.但是,您可以设置新属性并取消设置旧属性,间接"重命名"它们:
function rename(obj, oldName, newName) {
if(!obj.hasOwnProperty(oldName)) {
return false;
}
obj[newName] = obj[oldName];
delete obj[oldName];
return true;
}
Run Code Online (Sandbox Code Playgroud)
这可能不是重命名密钥的最有效方法,但我认为它在某些方面很有趣:
如果您仍需要使用原始阵列,有时可能需要No.1.考虑到这里的一些示例具有超过30行代码的事实,No.2可能是有趣的.考虑到它们的强大程度和广泛的支持程度,No.3可能用于教育目的,以说明语言的某些特征,这些特征并非经常使用.
如果您创建这样的映射对象:
const m = { SPO2: 'O2' };
Run Code Online (Sandbox Code Playgroud)
那么你将来可以轻松添加更多密钥以重命名.
现在,可以在vanilla JS中创建一个单行程序:
const t = o => Object.assign(...Object.keys(o).map(k => ({ [m[k] || k]: o[k] })));
Run Code Online (Sandbox Code Playgroud)
假设你有一个对象数组:
const a = [{
'SPO2': '222.00000',
'VitalGroupID': 1152,
}, {
'SPO2': '333.00000',
'VitalGroupID': 1153,
}, {
'SPO2': '444.00000',
'VitalGroupID': 1154,
}];
Run Code Online (Sandbox Code Playgroud)
你可以得到一个a.map(t)像这样的新数组:
console.log('Before:', a);
console.log('After:', a.map(t));
Run Code Online (Sandbox Code Playgroud)
您的原始对象在原始数组中仍然完好无损.
| 归档时间: |
|
| 查看次数: |
26438 次 |
| 最近记录: |