i have this array:
var arr = ["apple","potato","carrot","tomato","grape","banana","potato","carrot","carrot"];
As you can see, we have "potato" 2 times in this array, and also "carrot" 3 times in this array. How can i create a new array, that will content only "potato" and "carrot" values, so only values that are not single/unique in initial array?
Like this:
["potato","carrot"];
How it can be done in js?
Check this one liner:
[...new Set(arr.filter(e => arr.filter(a => a === e).length > 1))];
arr.filter(e ...) - filter array for duplicates
[...new Set(...))] - create array with unique values using set and spread syntax
Working snippet:
var arr = ["apple","potato","carrot","tomato","grape","banana","potato","carrot","carrot"];
console.log([...new Set(arr.filter(e => arr.filter(a => a === e).length > 1))]);