首頁  >  文章  >  web前端  >  javascript數組如何刪除相同元素

javascript數組如何刪除相同元素

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-07-20 11:17:353902瀏覽

方法:1、遍歷要刪除的數組, 把元素分別放入另一個數組中,在判斷該元素不存在才允許放入數組中;2、把目標數組的元素值和鍵的位置調換,自動就把重複的元素給刪除掉了。

javascript數組如何刪除相同元素

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

例如:var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];

#第一個想法是:遍歷要刪除的陣列arr, 把元素分別放入另一個陣列tmp中,在判斷該元素在arr中不存在才允許放入tmp中

用到兩個函數:for ...in 和indexOf()

<script type="text/javascript"> 
var student = [&#39;qiang&#39;,&#39;ming&#39;,&#39;tao&#39;,&#39;li&#39;,&#39;liang&#39;,&#39;you&#39;,&#39;qiang&#39;,&#39;tao&#39;];
function unique(arr){
// 遍历arr,把元素分别放入tmp数组(不存在才放)
var tmp = new Array();
for(var i in arr){
//该元素在tmp内部不存在才允许追加
if(tmp.indexOf(arr[i])==-1){
tmp.push(arr[i]);
}
}
return tmp;
}

</script>

第二種想法是:把目標數組arr的元素值和鍵的位置調換自動就把重複的元素刪除掉了,調換後的樣子:array('qiang'=>1,'ming'=>1,'tao'=>1)

<script type="text/javascript">
var student = [&#39;qiang&#39;,&#39;ming&#39;,&#39;tao&#39;,&#39;li&#39;,&#39;liang&#39;,&#39;you&#39;,&#39;qiang&#39;,&#39;tao&#39;];
function unique(arr){
var tmp = new Array();

for(var m in arr){
tmp[arr[m]]=1;
}
//再把键和值的位置再次调换
var tmparr = new Array();

for(var n in tmp){
tmparr.push(n);
}
return tmparr;
}
</script>

【推薦學習:javascript高階教學

以上是javascript數組如何刪除相同元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn