zoukankan      html  css  js  c++  java
  • Symmetric Difference FreeCodeCamp

    function sym(args) {
      var arr = Array.prototype.slice.call(arguments);
    
      return arr.reduce((arr1, arr2) => {
        return arr1.concat(arr2).filter((val) => {
          return arr1.indexOf(val) === -1 || arr2.indexOf(val) === -1;
        }).filter((val, index, arr) => {
          return arr.indexOf(val) === index;
        });
      });
    }

    题目:

      创建一个函数,接受两个或多个数组,返回所给数组的 对等差分(symmetric difference) ( or )数组.

    分析:

      Array.reduce()  Symmetric Difference

      Array.prototype.slice()

        概述:方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。且原始数组不会被修改。

        https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

      arguments

        概述:arguments 是一个对应于传递给函数的参数的类数组对象。    

        https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/arguments

      Array.prototype.filter()

        概述:方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

        https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

      "=>"采用的是新的标准 ES6标准。这个标准会渐渐流行,有警告无伤大雅的。

      因为这是我目前见到思路最清晰,代码最简洁的写法了,所以摘录下来慢慢消化。

    本文参考博客:

      澄酱

        https://www.cnblogs.com/laoho/p/7787658.html

      

  • 相关阅读:
    OpenGL---------BMP文件格式
    OpenGL———混合的基本知识
    OpenGL------显示列表
    OpenGL---------光照的基本知识
    OpenGL学习--------动画制作
    OpenGL------三维变换
    OpenGL学习--------颜色的选择
    OpenGL学习-------点、直线、多边形
    Windows X64汇编入门(1)
    x86 x64下调用约定浅析
  • 原文地址:https://www.cnblogs.com/zhrngM/p/8653044.html
Copyright © 2011-2022 走看看