【发布时间】:2014-03-03 16:30:24
【问题描述】:
我是 JavaScript 新手,在处理数组时遇到问题,我希望数组按我明确编写的方式排序,而不是 JavaScript 决定它需要它的方式。
如果我们有一个数组
var array = {
0: 'zero',
4: 'four',
2: 'two'
};
当我选择在控制台中显示它或对其进行迭代时,它会像这样重新排序
array = {
0: 'zero',
2: 'two',
4: 'four'
};
到目前为止,我已经尝试了 2 个循环,for 循环,以及带有 in 语句的 for 循环。 两者都按照我假设的方式工作,因为他们使用密钥并向上/向下工作,使我指定的顺序绝对没用。
我如何按顺序编写/打印/使用我的数组,在其他语言(例如 PHP)中,它就像 PHP 一样简单
$array = array(
0 => 'zero',
4 => 'four',
2 => 'two'
);
foreach($array as $key => $value)
echo $key ."\n";
这会输出
0
4
2
提前致谢。
【问题讨论】:
-
它实际上似乎是一个对象。
-
伙计们,问题是:如何打印
0然后4然后2做for (var k in array) console.log(k)? -
我已经阅读并回复了下面的所有解决方案,他们没有像你说的下面的答案,我谈到了迭代数组以按照明确的顺序写入/打印/处理它写在,还没有人解决这个问题,每个人都刚刚跳上乐队大喊“不是数组它是对象”,我的问题仍然没有答案。
-
@wared Read for..in > 以任意顺序迭代对象的可枚举属性。对于每个不同的属性,可以执行语句。
-
它的意思是它所说的,你不清楚什么?不管是 Chrome、FireFox 还是 Sky Blue Pink。避免它的方法是使用
Array而不是Object,并使用数组迭代而不是对象迭代。去阅读我上面发布的链接以了解每个链接是什么,那里有示例。
标签: javascript php arrays loops