zoukankan      html  css  js  c++  java
  • [源计划] arr-diff

    arr-diff

    比较数组,得到数组不同的部分。

    来源

    示例

    var diff = require('arr-diff');
    
    var a = ['a', 'b', 'c', 'd'];
    var b = ['b', 'c'];
    
    console.log(diff(a, b))
    //=> ['a', 'd']
    

    源码

    module.exports = function diff(arr/*, arrays*/) {
      var len = arguments.length;
      var idx = 0;
      
      // 多次调用 比较方法比较多个数组
      while (++idx < len) {
        arr = diffArray(arr, arguments[idx]);
      }
      return arr;
    };
    
    function diffArray(one, two) {
      if (!Array.isArray(two)) {
        return one.slice();
      }
    
      var tlen = two.length
      var olen = one.length;
      var idx = -1;
      var arr = [];
    
      // 取 one 中的元素和 two 中的元素对比
      while (++idx < olen) {
        var ele = one[idx];
    
        var hasEle = false;
        for (var i = 0; i < tlen; i++) {
          var val = two[i];
    
          if (ele === val) {
            hasEle = true;
            break;
          }
        }
    
        if (hasEle === false) {
          arr.push(ele);
        }
      }
      return arr;
    }
    
  • 相关阅读:
    hdfs校验和
    hdfs读写策略
    hdfs架构
    hdfs数据块
    元数据
    集群的创建
    jQuery_DOM操作
    jQuery_简介_选择器
    Ajax
    MySQL整理_2_数据库操作
  • 原文地址:https://www.cnblogs.com/aaronzhou001/p/10286102.html
Copyright © 2011-2022 走看看