javascript行列の重い方法.

1219 ワード

注意:多くの人はNaNの存在を無視します.JSの中でNaN!==NaNしかし、重さに行く中で、私達はまた二つのNaNを保留することができませんので、判断を下す必要があります.これは多くの人が軽視しやすいです.
Array.prototype.uniq = function () {
  var arr = [];
  var flag = true;
  this.forEach(function(item) {
    //    NaN (  !!!)
    if (item != item) {
      flag && arr.indexOf(item) === -1 ? arr.push(item) : '';
      flag = false;
    } else {
      arr.indexOf(item) === -1 ? arr.push(item) : ''
    }
  });
  return arr;
}
呼び出し時に直接呼び出してもいいです.例えば、var a=[1,2,3,4,5]a.uniq();元の配列自体の値に影響しません.