tande lab.

[JavaScript] 重複する値を排除しながら配列に追加する

重複する値を排除しながら配列に値をどんどん追加するときのやり方メモ。

まず、既に配列に入っているか値をチェックする関数を作っておく。

// 配列array 内に 変数str と同じ値が存在するかを確認
// 同じ値が存在したら true, 存在しなかったら false を返す
var checkDuplicate = function(array, str){
	for(var i =0; i < array.length; i++){
		if(str == array[i]){
			return true;
		}
	}
	return false;
};

配列に値を追加するところで、下のような感じでチェックすればOK。

if( !checkDuplicate(colors, c) ){
	colors.push(c);
}

この例だと

checkDuplicate関数 に 配列colors と 変数c を引数で渡してチェックさせて、
false が帰ってきたら、配列colors に 変数c の値を追加する。
既に同じ値が入っていたら、無視して次の処理へ。

という if文 になってる。

これで、配列colors に入る値は全てユニークで重複がないものになる。