js は配列内の重複要素を削除し、1 つ (2 つの実装アイデア) を保持します_javascript スキル

WBOY
リリース: 2016-05-16 16:39:02
オリジナル
1397 人が閲覧しました

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

最初のアイデアは次のとおりです。削除する配列 arr を走査し、要素をそれぞれ別の配列 tmp に入れ、その要素が arr に存在しないと判断した後でのみ tmp に入れることができます

for ...in とindexOf() の 2 つの関数が使用されます

<script type="text/javascript"> 
var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
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>
ログイン後にコピー

2 番目のアイデアは次のとおりです。 ターゲット配列 arr の要素の値とキーの位置を交換すると、重複した要素が自動的に削除されます。array('qiang'=> ;1) 、'明'=>1、'タオ'=>1)

<script type="text/javascript">
var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
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>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート