Hi! You might be looking for a function named Array.some. It checks that at least one item in an array verifies a given predicate, and is early-terminating.
Array.some
Here's the code using a hash table (so both arrays must contain only strings) as you did:
const haveCommonItems = (array1, array2) => { let hashTable = {} array1.forEach(item => hashTable[item] = true) return array2.some(item => hashTable[item]) }
:)
Yes that sure does the job <3! Thanks for recommending!
And you may want to use new Set(array1) instead of your hashTable.
new Set(array1)
hashTable
const haveCommonItems = (array1, array2) => { const array1set = new Set(array1) return array2.some(array1set.has) }
(disclaimer: untested code snippet)
Awesome! Here's my tested code:
const haveCommonItems = (array1, array2) => { const array1set = new Set(array1); return array2.some(item => array1set.has(item)); haveCommonItems(animals, pets); // returns "true" }
Very clean and time optimized! Thanks again everyone!
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Hi! You might be looking for a function named
Array.some
. It checks that at least one item in an array verifies a given predicate, and is early-terminating.Here's the code using a hash table (so both arrays must contain only strings) as you did:
:)
Yes that sure does the job <3! Thanks for recommending!
And you may want to use
new Set(array1)
instead of yourhashTable
.(disclaimer: untested code snippet)
Awesome! Here's my tested code:
Very clean and time optimized! Thanks again everyone!