• [源计划] 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;
    }
    
  • 相关阅读:
    第七次作业
    随堂讨论8
    第六次作业
    随堂讨论-5
    曹宇轩-第五次作业
    随堂讨论3-刘昕昕,曹宇轩
    曹宇轩-第四次作业
    Alpha阶段项目复审
    团队作业4 -项目冲刺
    第六篇 Scrum冲刺博客
  • 原文地址:https://www.cnblogs.com/aaronzhou001/p/10286102.html
Copyright © 2020-2023  润新知