一个js去重的小问题

问题遇到的现象和发生背景 js里面的去重
用代码块功能插入代码,请勿粘贴截图
<script>
        str=['c','a','z','a','x','a','x','c','b'];
        str1=[''];
        
        //push()添加元素   //unshift()加在数组头 并返回数组长度———— 删除 pop()  shift() 返回被删除的元素
        for(var i=0;ilength;i++){
            for(var j=0;ilength;j++){
                if(str1.indexOf(str[i])!=-1){
                    str1.push(str[i])
                }
            }
        }
        console.log(str1);
        script>

运行结果及报错内容 跑不出来 也不报错

算法有问题呀,一层for循环就行了,循环str数组,然后检查str1空数组里面有没有这个字符,有就不添加进去,没有就添加。另外,定义空数组里面不用加引号,str1=[]就行了。有帮助的话采纳一下哦!

<script>
        str=['c','a','z','a','x','a','x','c','b'];
        str1=[];
        
        //push()添加元素   //unshift()加在数组头 并返回数组长度———— 删除 pop()  shift() 返回被删除的元素
        for(var i=0;i<str.length;i++){
                if(str1.indexOf(str[i])!=-1){
                    str1.push(str[i])
                }
        }
        console.log(str1);
   </script>