为什么我在位置移动后得到一个空数组?

时间:2012-12-06 13:19:56

标签: javascript arrays

我尝试使用此Move an array element from one array position to another中的代码移动数组位置

但是为什么当我将最后一个移动时,我得到一个空数组

我喜欢这个......

my_array.move(my_array_length,0);

演示:http://jsfiddle.net/Jsu7R/

2 个答案:

答案 0 :(得分:4)

由于javascript数组从0向上编入索引,因此您的代码为:

my_array.move(my_array_length,0);

需要更改为:

my_array.move(my_array_length-1,0);

数组的长度有5个元素,但最后一个元素的索引为4.

答案 1 :(得分:2)

从参考页面“移动”的方法获取old_index,new_index参数。 您提供数组的长度作为第一个参数,但您的数组在此位置没有元素。

如果您使用以下参数调用“move”:

my_array.move(my_array_length - 1,0)

它将按预期工作