作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设我有这样一个数组:
myArray = ["a","b","c","d","e"]
我想遍历它以找到特定的值并将其删除。
for(var i=0;i<myArray.length;i++){
if(myArray[i] == "b")
myArray.splice(i,1)
}
问题是,拼接从数组中删除了项目,并且删除项目前面的所有项目都向下移动了一个索引号,因此 myArray.length
被实例化为 5 但在splice
myArray
的长度仅为 4,for
循环失败,因为 myArray[4]
抛出 typeof 匹配错误在框架中。
我正在使用以这种方式工作的框架,这就是我使用这种项目删除技术的原因,我的问题是如何以正确的方式执行此操作?该框架使用 splice
方法,我正在使用 for
循环,所以我假设有正确的方法来解决这个问题?
最佳答案
反转循环:
for(var i=myArray.length-1;i>=0;i--){
if(myArray[i] == "b")
myArray.splice(i,1)
}
关于javascript - 如何遍历收缩数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33284226/
我是一名优秀的程序员,十分优秀!