<script type="text/javascript">
$(function () {
var arr = [1, 1, 2, 2, 3, 3];
var result = [], isRepeated;
for (var i = 0, len = arr.length; i < len; i++) {
isRepeated = false;
for (var j = 0, len = result.length; j < len; j++) {
if (arr[i] == result[j]) {
isRepeated = true;
break;
}
}
if (!isRepeated) {
result.push(arr[i]);
}
}
alert(result);
})
</script>如上是脚本最后可以弹出 1,2,3的效果,就是筛选重复数据。
3 回答
已采纳
千秋此意
TA贡献158条经验 获得超187个赞
第7行改成:
for (var j = 0; j < result.length; j++)
这样每次循环 result.length 的值才会更新
你原来那样写只是把初使的 result.length 赋值给 len(也就是len=0),所以你外面i循环完也不会走一次j循环
Tobey_滔
TA贡献242条经验 获得超128个赞
<script type="text/javascript"> $(function () { var arr = [1, 1, 2, 2, 3, 3]; var result = [], isRepeated; for (var i = 0, len = arr.length; i < len; i++) { isRepeated = false; for (var j = 0; j < result.length; j++) { if (arr[i] == result[j]) { isRepeated = true; break; } } if (!isRepeated) { result.push(arr[i]); } } alert(result); }) </script>
你错误的原因是第二个循环的条件...因为第一个循环已经用了len..第二个循环再次给len赋值...导致出错了
添加回答
举报
0/150
提交
取消