本文主要是介绍蓝桥杯(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;
这篇关于蓝桥杯(Web大学组)2023十四届省赛真题3:收集帛书碎片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!