Javascript 如何获取键值对的索引

Javascript 如何获取键值对的索引,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我必须更改第三个位置的钥匙名称。 信息我只有新的密钥名称和位置 差不多 var myObj={ age: null, anothercolumn: null, caseNum: null, casecount: null, casecountfgfg: null, city: null, country: null, county: null } 请建议

我必须更改第三个位置的钥匙名称。 信息我只有新的密钥名称和位置

差不多

    var myObj={
        age: null,
        anothercolumn: null,
        caseNum: null,
        casecount: null,
        casecountfgfg: null,
        city: null,
        country: null,
        county: null
   }
请建议

小心点!在ES2015之前,未指定属性键的顺序。所以它只是可以改变,不同的浏览器不同

所以你不能做你想做的事


唯一可能的方法是创建一个新对象,并按所需顺序应用关键帧。我建议不要依赖对象键的顺序

如@Lux所述,在
ES2015
之前,未指定属性键的顺序。所以它只是可以改变,不同的浏览器不同。但是,解决方法是循环对象获取键值信息查看要替换的键,然后循环对象,替换要替换的键,如下所示:

myObj[2] = 'new value'
var myObject=[{“苹果”:“1”},{“球”:“3”},{“猫”:“wer”},{“尼泊尔”:“美丽”},{“猫”:“wer”}]//模拟对象
for(myObject中的var键){
if(myObject.hasOwnProperty(键)){
log(“Key:+Key+”,值:+JSON.stringify(myObject[Key]);
}
}
//如果我想更换所有cat钥匙,则:
对于(变量i=0;i

PLUNKER:

问题在于:默认情况下,关联数组在每个浏览器中的顺序并不相同。在更改键之前,请始终确保按字母顺序对键进行排序,因为在某些浏览器中可能会出现意外情况。@Tushar OP想更改键的名称。还有,您不能保证对象键的索引。@blex:因此,我需要的不是位置,而是要修改哪个键的信息,对吗?用例是什么?你能添加完整的代码解释你想做什么吗?我现在有关键信息,为我添加新的和删除旧的作品。谢谢
    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;
    }