zoukankan      html  css  js  c++  java
  • JS数组去重 包含去除多个 NaN

    Array.prototype.uniq = function () {
      var arr = [];
      var flag = true;
      this.forEach(function(item) {

        // 排除 NaN (重要!!!) NaN 和自身不相等
        // 除了NaN 其他数据 和 自己都 相等
        if (item != item) {
           // 只有第一次找到NaN 把他放进数组里面
           flag && arr.indexOf(item) === -1 ? arr.push(item) : '';
           flag = false;
               } else  {
                 arr.indexOf(item) === -1 ? arr.push(item) : ''
               }
            });
             return arr;
    }
     
    var arr = [NaN,NaN,NaN,1,2,{},{},null,null,undefined,undefined];
    var uniqueArr = arr.uniq();
    console.log(uniqueArr); //  [NaN, 1, 2, {…}, {…}, null, undefined]


    // Es6 一行代码搞定
    var uniqueArr2 = Array.from(new Set(arr));
    console.log(uniqueArr2); //  [NaN, 1, 2, {…}, {…}, null, undefined]
     
     
  • 相关阅读:
    PCA与LDA
    SVM--交叉验证
    git的基本使用
    MySQL的操作
    MySQL安装和远程连接
    javaScript进阶
    javaScript基础入门篇
    javaScript运动
    可变对象和不可变对象
    基本数据类型
  • 原文地址:https://www.cnblogs.com/fly-xfa/p/8875391.html
Copyright © 2011-2022 走看看