当前位置: 首页 > 面试题库 >

写一个方法检测指定的数组是否有重复的元素

翟俊远
2023-03-14
本文向大家介绍写一个方法检测指定的数组是否有重复的元素相关面试题,主要包含被问及写一个方法检测指定的数组是否有重复的元素时的应答技巧和注意事项,需要的朋友参考一下
  1. 不需要知道重复元素是什么
const isPureArray = array => {
  return [...new Set(array)].length === array.length
}
console.info(isPureArray([1, 2, 3, 4])) // true
console.info(isPureArray([1, 2, 3, 2])) // false
  1. 需要知道重复元素的索引,这种情况下还需要考虑多次重复的情况
const getRepeatedItems = array => {
  const pureArray = [...new Set(array)]
  const repeatedItems = new Map()
  if (pureArray.length === array.length) return repeatedItems
  pureArray.forEach(item => {
    repeatedItems.set(item, [])
  })
  array.forEach((item, index) => {
    repeatedItems.get(item).push(index)
  });
  [...repeatedItems.keys()].forEach(key => {
    if (repeatedItems.get(key).length < 2) repeatedItems.delete(key)
  })
  return repeatedItems
}
const result = getRepeatedItems([1, 2, 3, 4, 1, 3, 4, 4, 2, 1, 1, 1, 5, 7])
// 然后就可以获取 result 内容,重复元素及其对应的每个重复索引
 类似资料:
  • 本文向大家介绍写一个方法找出指定一维数组所有不重复的元素和个数相关面试题,主要包含被问及写一个方法找出指定一维数组所有不重复的元素和个数时的应答技巧和注意事项,需要的朋友参考一下 const setArray = arr => { return arr.filter(v => arr.indexOf(v) === arr.lastIndexOf(v)); };

  • 本文向大家介绍用js写一个方法检测指定的函数体是否为空相关面试题,主要包含被问及用js写一个方法检测指定的函数体是否为空时的应答技巧和注意事项,需要的朋友参考一下

  • 假设我有两个数组,和,其中是的子集: 我想返回如下数组: 如果只是一个数字,那就足够简单了(),但我尝试了y中的等效

  • 本文向大家介绍写一个方法,批量删除指定索引的数组元素相关面试题,主要包含被问及写一个方法,批量删除指定索引的数组元素时的应答技巧和注意事项,需要的朋友参考一下 保持索引: 不保持索引

  • 我正在尝试编写一个方法union(),它将返回一个int数组,它需要两个int数组参数,并检查它们是否为集合,或者换句话说,它们之间是否存在重复项。我编写了另一个方法isSet(),它接受一个数组参数并检查数组是否为集合。问题是我想检查union方法中的两个数组之间是否有重复项,如果有,我想提取其中一个重复项并将其放入unionArray[]int数组中。这就是我到目前为止所尝试的。 我想做的是使

  • 本文向大家介绍JS判断数组里是否有重复元素的方法小结,包括了JS判断数组里是否有重复元素的方法小结的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS判断数组里是否有重复元素的方法。分享给大家供大家参考,具体如下: 第一种方法:但是下面的这种方法数字字符串类似相同,返回的还是真,有点不靠谱,如果是其它的字符是可以的 第二种方法:但是下面的这种方法数字字符串类似相同,返回的也还是真,有点不靠