数组去重函数中的变量j怎么是undefined

2016/12 01 14:12
此文章不得转载,如有需要请联系网站管理员。

一度的温暖,一百度的爱情,来自于亚洲城ca788手机版官网的点点滴滴

数组去重函数(见下图及代码),第一次循环时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 onlyarr{
    var newArr = [],
    len = arr.length;
    forvar i = 0;i<len-1;i++{
        forvar j = i+1;j<len;j++{
            ifarr[i]===arr[j]{
        j = false;
        break;
        }
        }
    ifj{
        newArr.pusharr[i];
    }
    }
    return newArr;
    }
    console.logonly[5]
</script>
</body>
</html>

j一定是undefined
j是forvar j = i+1;j<len;j++{}循环的部分变量
而ifj{}判别不在forvar j=i+1;j<len;j++{}循环内

JavaScript一定判别j变量未定义,则一定undefined

外层循环 forvar i = 0;i<len-1;i++{ }就没实行啊
你这句相称于 当i=0末尾,i<0终了 ,循环进不去
精确的应该是 forvar i = 0;i<len;i++{ } 吧

(看完/读完)这篇文章有何感想! 来看看亚洲城ca788手机版官网是怎么评论的吧!

--转载请注明: www.ca788.com#亚洲城ca788手机版官网 » 数组去重函数中的变量j怎么是undefined

发表评论

(必填)