Home > Blockchain >  Find all unique values in array and than split it and return something else
Find all unique values in array and than split it and return something else

Time:05-13

My goal is to find all the unique years in this array and than return it as a array. I have almost done it but cant figure out how I will return the split value.

function findUniqueYears() {
  const arr = ['1973-11-01', '2001-01-01', '1999-10-01', '2007-10-01', '2016-06-01', '2005-08-01', '1973-09-01', '1979-12-01', '2001-08-01'];
  for (var i = 0; i < arr.length; i  ) {
    for (var j = i   1; j < arr.length; j  ) {
      if (arr[i].split("-")[0] === arr[j].split("-")[0]) {
        arr.splice(j, 1);
      }
    }
  }
  console.log(arr)
}

CodePudding user response:

This should do

const findUniqueYears = (arr) => Array.from(new Set(arr.map(item => item.split('-')[0])))

CodePudding user response:

You can use the function map to iterate via each element in the array then you can easily split date by '-' return 0 value and cast it to Set.

function findUniqueYears() {
  const arr = ['1973-11-01', '2001-01-01', '1999-10-01', '2007-10-01', '2016-06-01', '2005-08-01', '1973-09-01', '1979-12-01', '2001-08-01'];
  return new Set(arr.map((el) => el.split('-')[0]))
}

  • Related