本文實例講述了JS基于開關思想實現的數組去重功能。分享給大家供大家參考,具體如下:
場景: 比如給你一個數組var Arr = [ 25, 70, 60, 70, 65, 65, 80 ]
,最終要得到去重后的新數組[25,70,60,65,80].
思路:
1.先定義個空的新數組newArr;
2.遍歷舊數組Arr 中所有元素;
3.定義一個isZai變量表示開關,默認為false狀態;
4.遍歷新數組所有元素與舊數組元素比較(Arr[ i ] == newArr[ j ]
);
5.如果該元素存在于新數組中,則改變開關狀態為true;
6.根據開關狀態實現需求:如果開關為false狀態,則將舊數組的元素添加到新數組中;
7.最后打印新數組
js代碼如下
<script>var Arr = [ 25, 70, 60, 70, 65, 65, 80 ];//最終得到[25,70,60,65,80]//1.先定義個空的新數組newArr;var newArr=[];//2.遍歷舊數組Arr 中所有元素;for(var i=0;i<=Arr.length;i++){ //3.定義一個isZai變量表示開關,默認為false狀態; var isZai=false; for(var j=0;j<=newArr.length;j++){ // 4.遍歷新數組所有元素與舊數組元素比較(Arr[ i ] == newArr[ j ]); if(Arr[ i ] == newArr[ j ]){ //5.如果該元素存在于新數組中,則改變開關狀態為true; isZai=true;//假設被推翻 break;//一旦重復后面沒有比較必要 } } // 6.根據開關狀態實現需求:如果開關為false狀態,則將舊數組的元素添加到新數組中; if(isZai==false){ newArr[newArr.length]=Arr[i]; }} console.log ( newArr )//打印新數組[25,70,60,65,80]</script>
可得如下運行結果:
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答