蓝桥杯(Web大学组)2023十四届省赛真题3:收集帛书碎片

需要实现:

1.将二维数组转为一维数组;

2.数组去重

一、将二维数组转为一维数组:

二、数组去重:

function collectPuzzle(...puzzles) {
  // console.log(puzzles);
  // console.log(...puzzles);
  // TODO:在这里写入具体的实现逻辑
  // 对所有的拼图进行收集,获取不同拼图类型的结果,并返回
  // console.log(puzzles);
  //1. 二维数组,=》转一维数组
  //法1:flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。默认是1
  //法2: reduce() concat()用来拼接两个或多个数组 不会改变原数组,返回一个新数组
  //reduce()累加器 参数callback  callback参数:acc,value,index,arr   acc:作为累加器,每次拿到上一次的返回值,value数组的每一项,index:索引 默认从0,arr调用reduce的原数组
  //法3: [].concat()
  // const arr = [1, 2, 3, 4, [5, 6, 7]]
  // console.log([].concat(...arr));
  //法4: toString + split 
  // result1=result1.toString().split(',')
 //2. 数组去重  双重循环/set()
   //3. return返回
   //(1) 
  return [...new Set (puzzles.flat([1]))]
   //(2) 
return [...new Set([].concat(...puzzles))]
  //(3) 
    return [...new Set(puzzles.reduce((acc,value)=>{
     return acc.concat(value)
    },[]))]
  //(4)第四个代码效果对但是检测不通过
  // return  [...new Set(puzzles.toString().split(','))]
}

// 检测需要,请勿删除
module.exports = collectPuzzle;

你可能感兴趣的:(javascript,前端,开发语言,蓝桥杯)