javascript - 如何去除數組裡的幾個值,只提供該數組的下標的話
巴扎黑
巴扎黑 2017-06-30 09:59:33
0
5
929

splice移除會一直更換數組,更換下標,所以我之前記住的下標沒用。

巴扎黑
巴扎黑

全部回覆(5)
阿神

先刪除下標大的再刪除下標小的

代言

把陣列換成對象,使用delete方法刪除,下標就不會變了

漂亮男人

數組的map方法 剔除指定的索引位置的元素 新產生一個陣列

或直接filter方法

曾经蜡笔没有小新

可以試一下,新建一個新的數組,然後循環你要做修改的那個數組,如果下標不是你要刪的那個數,那就把這個位置上的元素push到你的新的數組裡,如果下標是你要刪除的那個數,直接continue跳出循環
這樣循環結束之後,新的數組就是你需要的數組,再把它賦值給舊數組就好了

学习ing

產生新數組的話:

arr = [1,2,3,4,5,6,7]
removes = [1,3,5]
arr = arr.filter(function(value, index) { 
    return removes.indexOf(index) < 0
});

不產生新數組:

arr = [1,2,3,4,5,6,7]
removes = [1,3,5]
Array.prototype.remove = function(removes){
    removes.sort(function(a, b) {
        return a - b;
    }).reverse().forEach(function(value){this.splice(value, 1)
   }.bind(this)
)};
arr.remove(removes)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板