美文网首页
FCC之Diff Two Arrays

FCC之Diff Two Arrays

作者: 刘小强724 | 来源:发表于2017-10-22 23:07 被阅读0次

    最近开始跟着FreeCodeCamp 自学js,因为之前Android开发过程中经常接触前端内容,感觉上面的学习节奏还可以接受,到了js算法部分有点困难,主要原因是有些常用方法记忆的问题,和java区别还是蛮大的。以后会经常写些文章记录中间碰到的问题,写一些自己的想法(不一定有解决方案),尽量找到java中差不多的方法,便于记忆。

    题意

    比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。

    function diff(arr1, arr2) {

    var newArr = [];

    // Same, same; but different.

    var arr1ToArr2=arr1.filter(function(item){

    return arr2.indexOf(item)===-1;

    });

    var arr2ToArr1=arr2.filter(function(item){

    return arr1.indexOf(item)===-1;

    });

    return arr1ToArr2.concat(arr2ToArr1);

    }

    记录下几个方法:

    arr.indexOf(item) : 某一项在数组中的位置索引,如果数组中不存在,返回-1,相当于java中的list.contains(item);

    arr1.concat(arr2) : 拼接两个数组,相当于 list1.addAll(list2);

    filter 根据自定义条件进行过滤,RxJava中接触过。

    相关文章

      网友评论

          本文标题:FCC之Diff Two Arrays

          本文链接:https://www.haomeiwen.com/subject/bhdsbttx.html