takahashiakira
9/17/2015 - 6:18 AM

getDiffArray v1.0.0

getDiffArray v1.0.0

getDiffArray Module

2つの配列を比較し重複した要素がある場合は重複を削除した配列を返す

Module

/**
 * getDiffArray Function Description v1.1.0
 * @fileoverview 2つの配列を比較し重複した要素がある場合は重複を削除した配列を返す
 *    対応ブラウザはモダンブラウザ(IE8以上)
 */
var getDiffArray = function(baseArray, compareArray){
  var diffArray = [].concat(baseArray);
  var deleteIndex = [];
  var i, baseLen = baseArray.length;
  var j, compareLen = compareArray.length;
  for(i = 0; baseLen > i; i++){
    for(j = 0; compareLen > j; j++){
      if(baseArray[i] === compareArray[j]){
        deleteIndex.push(i);
      }
    }
  }
  var k, len = deleteIndex.length-1;
  for(k = len; 0 <= k; k--){
    var index = deleteIndex[k];
    diffArray.splice(index, 1);
  }
  return diffArray;
};

Usage

JS

  var preFeeds = [
    { collectionId = 1 },
    { collectionId = 2 },
    { collectionId = 3 },
    { collectionId = 4 }
  ];
  var favs = [
    { collectionId = 2 },
    { collectionId = 4 }
  ];
  var feed = getDiffArray(preFeeds, favs);