Javascript-查找与数组键对应的索引
假设有一个JavaScript数组Javascript-查找与数组键对应的索引,javascript,Javascript,假设有一个JavaScript数组 myArray = { "key1" : value1 ... "keyn" : valuen } 我的问题是,我能找到对应于,比如“key1”的整数索引吗 我需要值和它在数组中的整数位置 否。 这是一个对象,而不是数组 对象键是无序的。否。 这是一个对象,而不是数组 对象键是无序的。要获取值,可以执行以下操作: console.log(myArray.key1); log(myArray.key1); 要获得价值,您可以执行以下操
myArray = {
"key1" : value1
...
"keyn" : valuen
}
我的问题是,我能找到对应于,比如“key1”的整数索引吗
我需要值和它在数组中的整数位置 否。这是一个对象,而不是数组 对象键是无序的。否。
这是一个对象,而不是数组
对象键是无序的。要获取值,可以执行以下操作: console.log(myArray.key1); log(myArray.key1);
要获得价值,您可以执行以下操作: console.log(myArray.key1); log(myArray.key1);
@Slaks是正确的,但也许你可以捏造它:
for(var key in myArray) {
var sudoIndex = +key.match(/\d+/g)[0],
value = myArray[key];
// do stuff
}
这假设您的密钥编号与示例中的相同。@Slaks是正确的,但您可能可以伪造它:
for(var key in myArray) {
var sudoIndex = +key.match(/\d+/g)[0],
value = myArray[key];
// do stuff
}
这假设您的键像示例中那样编号。从技术上讲,这是一个对象文字,而不是数组。因此,它的属性没有“索引”。在迭代中,可以将一个整数关联到
中的每个属性,但不能保证每次属性的顺序相同。从技术上讲,这是一个对象文字,而不是数组。因此,它的属性没有“索引”,可以在for in
迭代中将一个整数与中的每个属性相关联,但不能保证每次属性的顺序都相同。我使用for in
并检查每个属性,同时增加一个整数。属性是按所需的顺序迭代的,因为我是按字母顺序给出的@永恒思想者:属性不保证保留任何特定的顺序。尽管您可能在有限的测试中看到了这一点,但在其他浏览器(或同一浏览器的其他实例)中,行为可能会有所不同。如果需要对属性进行排序,则需要将顺序存储在单独的数据结构中,例如包含属性名称的数组。我在
中使用了,并检查了每个属性,同时递增一个整数。属性是按所需的顺序迭代的,因为我是按字母顺序给出的@永恒思想者:属性不保证保留任何特定的顺序。尽管您可能在有限的测试中看到了这一点,但在其他浏览器(或同一浏览器的其他实例)中,行为可能会有所不同。如果需要对属性进行排序,则需要将顺序存储在单独的数据结构中,例如包含属性名称的数组。