正确删除数组中的某个值,关键在于数组发生变化后要记得修改指针,避免漏删
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>删除数组中的某个元素</h3>
<p>查看控制台</p>
<script type="text/javascript">
Array.prototype.remove = function (value) {
var index = this.indexOf(value);
this.splice(index, 1);
}
var a = [2, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7, 8];
for (var i = 0; i < a.length; i++) {
var temp = a[i];
if (temp % 2 == 0) {
a.remove(temp);
i--; //删除某个值后数组长度发生变化,要及时修改指针,确保指向的为下一个值
}
}
console.log("删除2的倍数后,结果为:"+a); //删除2的倍数后,结果为:3,5,7
</script>
</body>
</html>