var myObj={
age: null,
anothercolumn: null,
caseNum: null,
casecount: null,
casecountfgfg: null,
city: null,
country: null,
county: null
}
我必须更改位于第3位的键名。 信息我只有新的密钥名称和位置。
类似
myObj[2] = 'new value'
请建议
答案 0 :(得分:1)
非常小心!在ES2015之前,未指定属性键的顺序。所以它可以改变,并且从浏览器到浏览器是不同的。
In ES2015 the order is specified as the order of creation
所以无法做你想做的事情。
唯一可能的方法是创建一个新对象并按所需顺序应用密钥。我可以建议不依赖于对象键的顺序!
答案 1 :(得分:1)
正如@Lux所述,在ES2015
之前未指定属性键的顺序。所以它只是可以改变,并且从浏览器到浏览器是不同的。但是, 解决 将 循环通过对象 并 获取密钥值信息 和 查看要替换的键 ,然后 循环替换您想要的键的对象替换 ,如下所示:
var myObject =[{"apple":"1"},{"ball":"3"},{"cat":"wer"},{"Nepal":"beautiful"},{"cat":"wer"}];//mock object
for (var key in myObject) {
if (myObject.hasOwnProperty(key)) {
console.log("Key: " + key + ", Value: " + JSON.stringify(myObject[key]));
}
}
//if i want to replace all the cat key, then:
for (var i = 0; i < myObject.length; i++) {
myObject[i].catReplaced = myObject[i]['cat'];
delete myObject[i].cat;
}
<强> PLUNKER:强> Removing a particular key from an object