diff --git a/snippets/hasMany.md b/snippets/hasMany.md new file mode 100644 index 000000000..087c80922 --- /dev/null +++ b/snippets/hasMany.md @@ -0,0 +1,19 @@ +--- +title: hasMany +tags: array,beginner +firstSeen: 2021-07-11T05:00:00-04:00 +--- + +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`. + +```js +const hasMany = (arr, fn) => arr.filter(fn).length > 1; +``` + +```js +hasMany([1, 3], x => x % 2); // true +hasMany([1, 2], x => x % 2); // false +``` diff --git a/snippets/hasOne.md b/snippets/hasOne.md new file mode 100644 index 000000000..1df6d6ace --- /dev/null +++ b/snippets/hasOne.md @@ -0,0 +1,19 @@ +--- +title: hasOne +tags: array,beginner +firstSeen: 2021-07-04T05:00:00-04:00 +--- + +Checks if an array has only 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 only one element matches `fn`. + +```js +const hasOne = (arr, fn) => arr.filter(fn).length === 1; +``` + +```js +hasOne([1, 2], x => x % 2); // true +hasOne([1, 3], x => x % 2); // false +```