javascript – So entfernen Sie mehrere Werte aus einem Array und stellen nur den Index des Arrays bereit
巴扎黑
巴扎黑 2017-06-30 09:59:33
0
5
928

Durch das Entfernen von Splice werden das Array und die Indizes ständig verändert, sodass die Indizes, an die ich mich zuvor erinnerte, nutzlos sind.

巴扎黑
巴扎黑

Antworte allen(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)
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage