FCC--Diff Two Arrays(比较两个数组)
来源:互联网 发布:过年淘宝打折吗 编辑:程序博客网 时间:2024/06/05 08:55
Diff Two Arrays
比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。
提示数组
- Array.filter(), Array.indexOf(), Array.concat()
题目解析
- 提取两个数组中的不相同的数,先从第一个数组中过滤出第二个数组不存在的数,再从第二个数组中提取第一个数组不存在的数。
- 再将两个提取出的新数组组合在一起。
function diff(arr1, arr2) { var newArr1 = []; var newArr2 = []; // Same, same; but different. newArr1 = arr1.filter(function(e){ return arr2.indexOf(e)==-1; }); newArr2 = arr2.filter(function(e){ return arr1.indexOf(e)==-1; }); return newArr1.concat(newArr2);}diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);
这里的代码比较清楚,indexOf代表不在该数组中,两个数组各做一遍,将结果组合。
- 简化写法
function diff(arr1, arr2) { // Same, same; but different. return arr1.filter(function(e){ return arr2.indexOf(e)==-1; }). concat( arr2.filter(function(e){ return arr1.indexOf(e)==-1;}) );}diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);
其实就是把concat用在了两个filter中间,很好理解。
- ES6一句话
function diff(arr1, arr2) { // Same, same; but different. return arr1.filter(e => arr2.indexOf(e)==-1).concat(arr2.filter( e => arr1.indexOf(e)==-1));}diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);
ES6简化写法
阅读全文
0 0
- FCC--Diff Two Arrays(比较两个数组)
- FCC-----------Diff Two Array
- Bonfire: Diff Two Arrays
- Diff Two Arrays
- Diff Two Arrays
- Diff Two Arrays
- Diff Two Arrays
- diff 比较两个文件夹
- diff 比较两个文件夹
- 两个有序数组的中位数 Median of Two Sorted Arrays
- Median of Two Sorted Arrays 两个数组的中位数
- 349. Intersection of Two Arrays 两个数组交集
- Intersection of Two Arrays II两个数组交集(重要!)
- 349. Intersection of Two Arrays | 找两个数组的交集
- 350. Intersection of Two Arrays II | 查找两个数组重复
- [LeetCode] Intersection of Two Arrays 两个数组的交集
- Leetcode :Intersection of Two Arrays 两个数组的交集
- Intersection of Two Arrays II 两个数组相交之二
- Java数组与数组的遍历
- Spring Cloud学习笔记3——配置中心
- 算法学习建议
- 微信公众号基础02_获取accessToken和用户信息
- 【mysql 性能优化篇】使用show status查看MySQL服务器状态信息
- FCC--Diff Two Arrays(比较两个数组)
- 微信公众号基础03_网页授权获取用户基本信息
- Struts2.x不同版本的filter-class配置有区别
- pdo分页
- 微信公众号基础04_分享和录音功能的实现
- Oracle数据库基础概念
- 学习笔记12月以前
- java 字符串String比较 equals ==
- 微信公众号基础05_公众号项目部署