为什么array.shift跳过一个值?

时间:2010-02-05 01:08:51

标签: javascript jquery

我有这个功能

$(this).each(function(index) {

            arr[index] = ($(this).attr('id'));
            console.log(arr[index]);            

            fullId[index] = "#"+arr.shift();
            console.log(fullId[index]);     
});

我期待的结果是

A
#A
B
#B
C
#C
D
#D

实际结果是

A
#A
B
Undefined
C
#B
D
Undefined

这是为什么?

1 个答案:

答案 0 :(得分:4)

您意识到shift arr更改了数组中所有项的索引,对吧?

然而,根本不会影响$(this)