我无法通过我提供的顺序访问我的数组。无论我如何在数组中定位其键和值,数组都会不断重新排序。
我的意思的一个例子
var array = [];
array[1] = 'test';
array[2] = 'dddd';
array[3] = 'aaaa';
array[0] = 'good';
console.log(array)
在控制台中,我们留下了
[Object Array]
0: "good"
1: "test"
2: "dddd"
3: "aaaa"
重新排序,这不是我创建数组的方式。 我想访问数组我如何订购它,这将产生结果
[Object Array]
1: "test"
2: "dddd"
3: "aaaa"
0: "good"
我如何实现这一目标?
提前致谢。
答案 0 :(得分:2)
只需按照您希望它显示的顺序创建数组。注意索引的顺序:
array[0] = 'test';
array[1] = 'dddd';
array[2] = 'aaaa';
array[3] = 'good';
或者使用push
:
array.push('test');
array.push('dddd');
array.push('aaaa');
array.push('good');
答案 1 :(得分:2)
您使用不按顺序的索引创建了数组,然后依次使用索引访问数组。 当然你会看到不同的订单。
如果您使用无序索引添加这些属性,则按照您添加它们的顺序访问这些属性没有任何符合规范的方法。你必须分别跟踪它。 E.g:
var array = [];
var order = [];
order.push(1);
array[1] = 'test';
order.push(2);
array[2] = 'dddd';
order.push(3);
array[3] = 'aaaa';
order.push(4);
array[0] = 'good';
var i; // You didn't have this, but you want it
for (i = 0; i < order.length; ++i) {
alert(array[order[i]]);
}
当然,你可能会结合
order.push(x);
array[x] = y;
...进入一个功能。
答案 2 :(得分:0)
待办事项
var array = [];
array[0] = 'test';
array[1] = 'dddd';
array[2] = 'aaaa';
array[3] = 'good';