javascript remove duplicate strings from array

JavaScript
const names = ['John', 'Paul', 'George', 'Ringo', 'John'];

let unique = [...new Set(names)];
console.log(unique); // 'John', 'Paul', 'George', 'Ringo'// 1. filter()
function removeDuplicates(array) {
  return array.filter((a, b) => array.indexOf(a) === b)
};
// 2. forEach()
function removeDuplicates(array) {
  let x = {};
  array.forEach(function(i) {
    if(!x[i]) {
      x[i] = true
    }
  })
  return Object.keys(x)
};
// 3. Set
function removeDuplicates(array) {
  array.splice(0, array.length, ...(new Set(array)))
};
// 4. map()
function removeDuplicates(array) {
  let a = []
  array.map(x => 
    if(!a.includes(x) {
      a.push(x)
    })
  return a
};
/THIS SITE/ "https://dev.to/mshin1995/back-to-basics-removing-duplicates-from-an-array-55he#comments"unique = [...new Set(arr)];   // where arr contains duplicate elements//ES6
let uniqueArray = [...new Set(arrayWithDuplicates)];

//Alternative
function removeArrayDuplicates(arrayWithDuplicates) {
    let seen = {};
    let uniqueArray = [];
    let len = arrayWithDuplicates.length;
    let j = 0;
    for(let i = 0; i < len; i++) {
         let item = arrayWithDuplicates[i];
         if(seen[item] !== 1) {
               seen[item] = 1;
               uniqueArray[j++] = item;
         }
    }
    return uniqueArray;
}const names = ['John', 'Paul', 'George', 'Ringo', 'John'];

function removeDups(names) {
  let unique = {};
  names.forEach(function(i) {
    if(!unique[i]) {
      unique[i] = true;
    }
  });
  return Object.keys(unique);
}

removeDups(names); // // 'John', 'Paul', 'George', 'Ringo'
Source

Also in JavaScript: