- JavaScript
<script>
let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];
//方法一:倒叙遍历删除
// for (let i = arr.length - 1; i >=0; i--) {
// if (arr[i] > 2){
// arr.splice(i,1)
// console.log(arr)
// }
//
// }
// console.log(arr)
//方法二:正序修改索引值
// for (let i = 0; i < arr.length; i++) {
// if (arr[i] > 2){
// arr.splice(i--,1)
// }
// }
// console.log(arr)
(function () {
let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let i = arr.length
while (i--){
if (arr[i] > 2){
arr.splice(i,1)
}
}
console.log(arr)
})()
</script>
- Kotlin
fun main() {
val list = mutableListOf(1,2,3,4,5,4,3,2,1)
//方法一:迭代器
// val iterator = list.iterator()
// while (iterator.hasNext()){
// if (iterator.next() > 2){
// iterator.remove()
// }
// }
// for (i in list.size - 1 downTo 0) {
// if (list[i] > 2){
// list.removeAt(i)
// }
// }
//还是java的方法,调用了迭代器
list.removeIf { i -> i>2 }
println(list)
}
- Java
public class DeleteJava {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("4");
list.add("3");
list.add("2");
list.add("1");
//方法一:
// for (int i = list.size() - 1; i >= 0; i--) {
// if (Integer.parseInt(list.get(i)) > 2){
// list.remove(i);
// }
// }
//方法二
list.removeIf(s -> Integer.parseInt(s) > 2);
//方法三
// Iterator<String> iterator = list.iterator();
// while (iterator.hasNext()){
// if (Integer.parseInt(iterator.next()) > 2){
// iterator.remove();
// }
// }
System.out.print(list);
}
}
//发现3者相似的操作都是倒叙遍历删除,JavaScript没有迭代器删除