Ren*_*mer 4 javascript arrays for-loop array-splice
假设我有一个这样的数组:
myArray = ["a","b","c","d","e"]
Run Code Online (Sandbox Code Playgroud)
我想遍历它以查找特定值并删除它们。
for(var i=0;i<myArray.length;i++){
if(myArray[i] == "b")
myArray.splice(i,1)
}
Run Code Online (Sandbox Code Playgroud)
问题是, splice 从数组中删除了该项目,并且删除的项目前面的所有项目都向下移动一个索引号,因此myArray.length被实例化为 5 但在splice myArray长度仅为 4 之后for循环失败,因为myArray[4]throws typeof框架中的匹配错误。
我正在使用以这种方式工作的框架,这就是为什么我要使用这样的项目删除技术,我的问题是如何以正确的方式执行此操作?该框架使用该splice方法,我使用的是for循环,所以我认为有正确的方法来解决这个问题?
反转循环:
for(var i=myArray.length-1;i>=0;i--){
if(myArray[i] == "b")
myArray.splice(i,1)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
493 次 |
| 最近记录: |