首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

freeCodeCamp之Diff Two Arrays篇

题目-文字描述部分:

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

我的答案:

用了array.filter()和array.concat()两个方法

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

即 var arr = array.filter(functionname);

以上就是所提供的函数实现的测试,filter方法会遍历arr1中的所有元素来测试所提供的函数compare1,compare1函数中的for循环用来遍历arr2数组

如果element和arr2中的元素相等,就跳出循环并且不返回;如果不相等,i会自增到arr2.length,说明element不存在arr2中,即差异的元素,则返回到新数组arr3中。

同理,把arr2中异于arr1的元素找出来,放到新数组arr4中。

最后把两个找出差异的新数组合并成newArr,即得到了题目中要的结果。

这个方法我总觉得麻烦了点,不知道有没有更简洁的方法。

___________

前端小白,正在努力学习中,如有错处,请多指教,不胜感激!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180224G0J3Y400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券