This question already has answers here:
Deleting array elements in JavaScript - delete vs splice
                                
                                    (26个答案)
                                
                        
                2年前关闭。
            
        

因此,当我从数组delete array[key]中删除​​最后一个元素然后尝试推送新元素后,数组破裂时,我就遇到了这个问题。

因此,在删除元素之前,它看起来像这样:

    guests:
    [{ id: 263457,
        avatar: '...',
        name: 'Moamal' }],


删除此元素后,它看起来像这样:

guests: [  ]


然后推新的:

    guests:
    [ ,
     { id: 263459,
       avatar: '...',
       name: 'HalloweenD' } ]


我正在像这样将新元素推到这个数组中

self.actives.push({ id: 263459,
       avatar: '...',
       name: 'HalloweenD' });

最佳答案

使用array.splice(key,1);删除元素而不是delete

delete删除该元素,但保留一个空插槽。拼接会同时移除元素和插槽。

关于javascript - 推送新元素后数组中断,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48252142/

10-12 13:06
查看更多