小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


JavaScriptで重複チェックをして配列に追加する方法

はじめに

JavaScriptで配列に値を追加する際、重複しないようにするには、配列の要素を先頭から末尾まで調べて同じ値がなければpushするようにします。

改訂第5版 JavaScript ポケットリファレンス
古籏 一浩
技術評論社
売り上げランキング: 112,015

サンプルコード
// 配列内に存在するかを調べる関数
function IsExists(array, value) {
  // 配列の最後までループ
  for (var i =0, len = array.length; i < len; i++) {
    if (value == array[i]) {
      // 存在したらtrueを返す
      return true;
    }
  }
  // 存在しない場合falseを返す
  return false;
}

// 重複を排除しながらpushする関数
function PushArray(array, value) {
  // 存在しない場合、配列にpushする
  if(! IsExists(array, value)) {
    array.push(value);
  }
  return true;
}
使い方
var strArray = new Array("a", "b", "c");  //文字配列
var intArray = new Array(1, 2, 3); //数値配列

console.log(strArray);  >>["a", "b", "c"] 
PushArray(strArray, "a");
PushArray(strArray, "d");
console.log(strArray);  >> ["a", "b", "c", "d"]

console.log(intArray);  >> [1, 2, 3]
PushArray(intArray, 2);
PushArray(intArray, 4);
console.log(intArray);  >> [1, 2, 3, 4]