Видалення дублювання одиночних або об'єднань та дедублювання декількох входів масиву. Приклад нижче.
за допомогою ES6 - встановлення для руйнування
Я написав цю просту функцію, яка приймає кілька аргументів масиву. Це майже те саме, що рішення над ним просто має більш практичний випадок використання. Ця функція не об'єднує дублюючі значення лише в один масив, щоб він міг їх видалити на більш пізньому етапі.
КОРОТКЕ ВИЗНАЧЕННЯ ФУНКЦІЇ (лише 9 рядків)
/**
* This function merging only arrays unique values. It does not merges arrays in to array with duplicate values at any stage.
*
* @params ...args Function accept multiple array input (merges them to single array with no duplicates)
* it also can be used to filter duplicates in single array
*/
function arrayDeDuplicate(...args){
let set = new Set(); // init Set object (available as of ES6)
for(let arr of args){ // for of loops through values
arr.map((value) => { // map adds each value to Set object
set.add(value); // set.add method adds only unique values
});
}
return [...set]; // destructuring set object back to array object
// alternativly we culd use: return Array.from(set);
}
ВИКОРИСТАННЯ ПРИКЛАДУ КОДЕПЕН :
// SCENARIO
let a = [1,2,3,4,5,6];
let b = [4,5,6,7,8,9,10,10,10];
let c = [43,23,1,2,3];
let d = ['a','b','c','d'];
let e = ['b','c','d','e'];
// USEAGE
let uniqueArrayAll = arrayDeDuplicate(a, b, c, d, e);
let uniqueArraySingle = arrayDeDuplicate(b);
// OUTPUT
console.log(uniqueArrayAll); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 43, 23, "a", "b", "c", "d", "e"]
console.log(uniqueArraySingle); // [4, 5, 6, 7, 8, 9, 10]