cec*_*i0n -3 javascript php arrays loops
我是 JavaScript 的新手,我在使用数组时遇到了麻烦,我希望我的数组按照我明确编写它的方式进行排序,而不是 JavaScript 决定它想要它的方式。
如果我们有一个数组
var array = {
0: 'zero',
4: 'four',
2: 'two'
};
Run Code Online (Sandbox Code Playgroud)
当我选择在控制台中显示它或对其进行迭代时,它会像这样重新排序
array = {
0: 'zero',
2: 'two',
4: 'four'
};
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试了 2 个循环,for 循环,以及带有 in 语句的 for 循环。两者都按照我假设的方式工作,因为他们使用密钥并向上/向下工作,因此我指定的顺序绝对没用。
我如何按顺序编写/打印/使用我的数组,在其他语言(如 PHP)中,它就像
$array = array(
0 => 'zero',
4 => 'four',
2 => 'two'
);
foreach($array as $key => $value)
echo $key ."\n";
Run Code Online (Sandbox Code Playgroud)
这将输出
0
4
2
Run Code Online (Sandbox Code Playgroud)
提前致谢。
您使用的是 object {},而不是 array []。对象没有明确的顺序,而数组有。这就是为什么你有你的问题。改变你{}的[],你会没事的。您甚至可以使用一组对象。
var array = [
{0: 'zero'},
{4: 'four'},
{2: 'two'}
];
Run Code Online (Sandbox Code Playgroud)
像这样循环
for(var i = 0; i < array.length; i++){
console.log(array[i]);
}
Run Code Online (Sandbox Code Playgroud)
给我们正常的秩序。
Object {0: "zero"}
Object {4: "four"}
Object {2: "two"}
Run Code Online (Sandbox Code Playgroud)
另一个编辑:问题是您试图拥有一个具有属性和值的数组,就像一个对象一样,而不使用对象 {property: value} - 这不能用数组来完成。要像你想要的那样循环一个数组,就像
var arr = [1,2,3]
Run Code Online (Sandbox Code Playgroud)
和
for(var i = 0; i < arr.length; i++){
console.log(i) //1,2,3
}
Run Code Online (Sandbox Code Playgroud)
但问题是,如上所述,您想要更复杂的数组,而您根本无法做到。
| 归档时间: |
|
| 查看次数: |
3953 次 |
| 最近记录: |