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();元の配列自体の値に影響しません.