数组去重函数(见下图及代码),第一次循环时i=0,最里面的for循环中var j = i+1,j为什么不等于1,反而等于undefined?导致only([5])的结果是[]
PS:我的理解是尽管j<len条件不成立,j已经被赋值为1了,哪里出了问题?
(1)调试截图:
(2)代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>dd</title>
</head>
<body>
<script type="text/javascript">
function only(arr){
var newArr = [],
len = arr.length;
for(var i = 0;i<len-1;i++){
for(var j = i+1;j<len;j++){
if(arr[i]===arr[j]){
j = false;
break;
}
}
if(j){
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(only([5]))
</script>
</body>
</html>
MM们
相关分类