我正在尝试使用splice()函数从JavaScript中的数组中删除特定元素,但无法删除目标元素。

    var a = [];
    a.push("cs");
    a.push("ac");
    var curr2 = a.indexOf("ac");
    if(curr2 != -1){
        a = a.splice(curr2,1);
    }
    console.log(a);


预期结果:[“ cs”]实际结果:[“ ac”]

有人可以解释这种行为。谢谢!

最佳答案

这是因为Splice返回您删除的元素。

请记住,Splice会修改原始数组,因此当您进行

a = a.splice(curr2,1);


您正在存储已删除的元素。

将该行替换为

a.splice(curr2,1);


那应该可以解决您的问题!

关于javascript - Splice()函数未按预期工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44937430/

10-14 19:11