【蓝桥杯Web组题解3】收集帛书碎片

收集帛书碎片

介绍

三叔在外出考古途中无意发现了一份战国帛书,帛书边缘有被明显裁剪过的痕迹,单从帛书片段,提到记录了神秘文物的地点,无奈帛书不完整,为了早日将文物带回博物馆,三叔号召当地村民闷油瓶、王胖子、潘子共同寻找剩余帛书碎片,相约一炷香后再聚。

本题需要在已提供的基础项目中使用 JS 知识封装一个函数,达到收集帛书碎片的要求。

在浏览器中预览 index.html 页面,显示如下所示:
在这里插入图片描述
目标

请在 collect-puzzle.js 文件中补全函数 collectPuzzle 中的代码,返回包含不同帛书碎片的数组,最终拼出完整的战国帛书,需要注意:

  • 同一个人收集的帛书碎片可能是有重复的。
  • 同一组内不同的人收集的帛书碎片也可能是有重复的。
  • 工具函数需要统计所有人获取的不同帛书碎片,而不是帛书碎片数量

例如:

var arr1 = ["灾变", "四时运转", "天象"];
var arr2 = ["四时运转"];

var result1 = collectPuzzle(arr1, arr2);
console.log(result1); // 输出:["灾变","四时运转","天象"]

// 同一组内的拼图不能重复计算
var arr3 = ["灾变", "灾变", "天象"];
var arr4 = ["灾变", "月令禁忌", "天象"];

var result2 = collectPuzzle(arr3, arr4);
console.log(result2); // 输出:["灾变", "天象","月令禁忌"]
[copy]

上述仅为示例代码,判题时会随机提供数组对该函数功能进行检测。

在题目所提供的数据的情况下,完成后的效果如下:
在这里插入图片描述

题解

function collectPuzzle(...puzzles) {
  // TODO:在这里写入具体的实现逻辑
  // 对所有的拼图进行收集,获取不同拼图类型的结果,并返回
    // 使用 flat 将嵌套数组展平
    let flatArray = puzzles.flat();
    // 使用 Set 来获取不重复的值,使用...将Set转化成数组
    let uniqueValues = [...new Set(flatArray)];
  
    // 对所有的拼图进行收集,获取不同拼图类型的结果,并返回
    return uniqueValues
}

// 检测需要,请勿删除
module.exports = collectPuzzle;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jerry_ww

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值