30秒学会 JavaScript 片段 · 2022年4月19日

30秒学会 JavaScript 片段 – Check if array has many matches

Checks if an array has more than one value matching the given function.

  • Use Array.prototype.filter() in combination with fn to find all matching array elements.
  • Use Array.prototype.length to check if more than one element match fn.

代码实现

const hasMany = (arr, fn) => arr.filter(fn).length > 1;

hasMany([1, 3], x => x % 2); // true
hasMany([1, 2], x => x % 2); // false

翻译自:https://www.30secondsofcode.org/js/s/array-has-many-matches