Prepare repository for merge
This commit is contained in:
27
javascript/snippets/have-same-contents.md
Normal file
27
javascript/snippets/have-same-contents.md
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
title: Check if arrays have same contents
|
||||
type: snippet
|
||||
tags: [array]
|
||||
author: chalarangelo
|
||||
cover: interior-15
|
||||
dateModified: 2020-10-19T22:49:51+03:00
|
||||
---
|
||||
|
||||
Checks if two arrays contain the same elements regardless of order.
|
||||
|
||||
- Use a `for...of` loop over a `Set` created from the values of both arrays.
|
||||
- Use `Array.prototype.filter()` to compare the amount of occurrences of each distinct value in both arrays.
|
||||
- Return `false` if the counts do not match for any element, `true` otherwise.
|
||||
|
||||
```js
|
||||
const haveSameContents = (a, b) => {
|
||||
for (const v of new Set([...a, ...b]))
|
||||
if (a.filter(e => e === v).length !== b.filter(e => e === v).length)
|
||||
return false;
|
||||
return true;
|
||||
};
|
||||
```
|
||||
|
||||
```js
|
||||
haveSameContents([1, 2, 4], [2, 4, 1]); // true
|
||||
```
|
||||
Reference in New Issue
Block a user