查找数组中的所有唯一值,而不是拆分它和 return 其他东西

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

我的目标是在这个数组中找到所有唯一的年份,然后 return 将它作为一个数组。我几乎完成了,但无法弄清楚我将如何 return 拆分值。

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)
}

应该这样做

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

您可以使用函数 map 遍历数组中的每个元素,然后您可以轻松地将日期拆分为“-”return 0 值并将其转换为 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]))
}