2019-06-15 描述 使用提供的函数对两个数组中的元素进行逐一比对,最终返回两个数组之间不同的元素。 提示 使用 Array.prototype.filter() 和 Array.prototype.findIndex() 获取满足要求的值 代码 const symmetricDifferenceWith = ( ..

Array - symmetricDifferenceWith

2019-06-15

描述

使用提供的函数对两个数组中的元素进行逐一比对,最终返回两个数组之间不同的元素。

提示

代码

const symmetricDifferenceWith = (arr, val, comp) => [
  ...arr.filter(a => val.findIndex(b => comp(a, b)) === -1),
  ...val.filter(a => arr.findIndex(b => comp(a, b)) === -1)
];

示例

返回两个数组四舍五入后互相不包含的原始值:

symmetricDifferenceWith(
  [1, 1.2, 1.5, 3, 0],
  [1.9, 3, 0, 3.9],
  (a, b) => Math.round(a) === Math.round(b)
); // [1, 1.2, 3.9]

返回总目录

每天 30 秒系列之 JavaScript 代码

  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    425 引用 • 1013 回帖 • 887 关注
  • 30Seconds

    精选的常见前端问题集,帮助您踏踏实实走好每一步。

    英文原文请看 30-seconds

    268 引用 • 284 回帖 • 3 关注
  • 代码
    195 引用 • 439 回帖 • 2 关注
回帖   
请输入回帖内容...