let array = [
{label: 1},
{label: 2},
{label: 1},
]
let array1 = [1,2,2,2,2,3,4,5,4,4,4,]
function unique1(a, key = null) {
let arr = JSON.parse(JSON.stringify(a))
for (var i = 0; i < arr.length - 1; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (key ? arr[i][key] === arr[j][key] : arr[i] == arr[j]) {
arr.splice(j, 1);
j--;
}
}
}
return arr;
}
function unique2(a, key = null){
let arr = JSON.parse(JSON.stringify(a))
let newArr = [];
for (let i = 0; i < arr.length; i++) {
if (!newArr.some(j => (key ? j[key] : j) === (key ? arr[i][key] : arr[i]))) {
newArr.push(arr[i]);
}
}
return newArr
}
function unique3(a, key = null){
let arr = JSON.parse(JSON.stringify(a))
let newArr = [];
if(key){
}else{
newArr = [...new Set(arr)]
}
return newArr
}
function unique4(a, key = null){
let arr = JSON.parse(JSON.stringify(a))
const map = new Map();
const newArr = arr.filter(i => !map.has(key ? i[key] :i) && map.set(key ? i[key] : i, 1));
return newArr
}
function unique5(a, key) {
let arr = JSON.parse(JSON.stringify(a))
var obj = {};
return arr.filter(function(item, index, arr) {
return obj.hasOwnProperty(typeof (key ? item[key] : item) + (key ? item[key] : item)) ? false : (obj[typeof (key ? item[key] : item) + (key ? item[key] : item)] = true);
});
}