目录

  • 一、介绍
  • 二、目标
  • 三、代码
  • 四、答案

一、介绍

六大派围攻光明顶,为解除明教危机,张无忌临危受命,在小昭的帮助下进入明教圣地拿到乾坤大挪移心法。在这关键时刻,心法因没有妥善保存长久暴露在空气中,部分字体已不可见,下面需要由你来设计心法帮助张无忌习得神功,战胜六大门派。

二、目标

找到 main.js 文件中的“乾坤大挪移心法” mentalMethod 函数,完成函数中的 TODO 部分。

  1. mentalMethod 需要返回一个函数,可以一直进行调用,但是最后一次调用不传参。
  2. 函数通过以下方式执行,返回结果均为 ‘战胜峨眉,武当,少林’。
mentalMethod('峨眉')('武当')('少林')();
mentalMethod('峨眉','武当')('少林')();
mentalMethod('峨眉','武当','少林')();

注意逗号为英文逗号。

完成后,在命令行输入 node main.js 效果如下:

三、代码

js

function mentalMethod(...args) {// TODO 待补充代码 }
console.log(mentalMethod('峨眉')('武当')('少林')());
console.log(mentalMethod('峨眉', '武当')('少林')());
console.log(mentalMethod('峨眉', '武当', '少林')());// 以下代码为测试使用,请勿删除
module.exports = {mentalMethod
}

一开始想这道题思考了很多 闭包 立即执行函数 等等 要注意的是返回函数而不立即执行

四、答案

法一: 我觉得这种解法的缺点就是要使用外部数组

//内部函数能够访问外部变量
let arr = []
function mentalMethod(...args){//创建一个数组的深拷贝,让你可以安全地对该数组进行修改而不会影响到原始数组。const newArr = JSON.parse(JSON.stringify([...args]))//将数组中的元素赋值给外部数组for(let i of newArr){arr.push(i)}//如果数组长度大于1,说明还在调用该函数就返回函数本身if(newArr!=0){return mentalMethod}else{//否则返回字符串let str = '战胜' + arr.join(',')//由于它是连续调用的,所以每次调用完后都要清空数组arr = []return str}}
console.log(mentalMethod('峨眉')('武当')('少林')());
console.log(mentalMethod('峨眉', '武当')('少林')());
console.log(mentalMethod('峨眉', '武当', '少林')());

法二: 这种解法就是为了得到正确答案不择手段的做法

function mentalMethod(...args) {// TODO 待补充代码if(args.length){return mentalMethod}else{return '战胜峨眉,武当,少林'}
}

法三:利用闭包解决外部数组

function mentalMethod(...args) {// TODO 待补充代码let str = ''str += args.join(',')//闭包做法let newFn = function (...args) {//如果arsg.length>0,说明还有参数,继续递归调用if (args.length > 0) {str += ',' + args.join(',')return newFn} else {//如果没东西了,就返回结果return '战胜' + str}}//上面这个函数走出来说明函数调用结束了 且str已经赋值完成return newFn
}console.log(mentalMethod('峨眉')('武当')('少林')());
console.log(mentalMethod('峨眉', '武当')('少林')());
console.log(mentalMethod('峨眉', '武当', '少林')());

javaScript蓝桥杯----乾坤大挪移心法相关推荐

  1. javaScript 蓝桥杯----梅楼封的一天

    目录 一.介绍 二.目标 1.函数入参要求: 2.出参要求: 三.输出示例 1.示例一 2.示例二 3.示例三 4.示例四 5.示例五 四.待完善代码 五.知识点 1.正则表达式 2.split方法 ...

  2. JavaScript蓝桥杯------学海无涯

    目录 一.介绍 二.准备 三.目标 四.代码 五.完成 一.介绍 小蓝最近一直在云课平台学习,为了更好的督促自己,于是将每天的学习时间都记录了下来,但是如何更加直观的显示学习时间让小蓝很是苦恼.本题需 ...

  3. javaScript蓝桥杯----偷梁换柱

    目录 一.介绍 二.目标 三.代码 四.知识点 1. Object.defineProperty 五.答案 一.介绍 随着医疗水平的进步,人的平均寿命在慢慢提升.现在全球平均预期寿命是 73.2 岁, ...

  4. javaScript蓝桥杯----绝美宋词

    目录 一.介绍 二.准备 三.目标 四.代码 五.踩坑 六.完成 一.介绍 "今宵酒醒何处,杨柳岸晓风残月","蓦然回首,那人却在灯火阑珊处","试问 ...

  5. javaScript蓝桥杯-----平地起高楼

    目录 一.介绍 二.目标 三.代码 四.完成 一.介绍 我们的国家国土面积十分的广阔,目前中国有 34 个省级行政区,包括 23 个省.5 个自治区.4 个直辖市.2 个特别行政区.其下面还有几千个县 ...

  6. javaScript蓝桥杯---分阵营,比高低

    目录 一.介绍 二.准备 三.目标 四.代码 五.答案 一.介绍 期末考试结束不久,辛勤的园丁们就将所有学生的考试成绩汇总完毕.不过现在遇到一个问题,那就是目前所有学生的考试数据均混杂在一起.这些数据 ...

  7. 4.7蓝桥杯做题-心愿便利贴-消失的 Token-封装 Promisefy 函数-趣购-乾坤大挪移心法

    4.7蓝桥杯做题 文章目录 4.7蓝桥杯做题 1.心愿便利贴 2.消失的 Token 3.封装 Promisefy 函数 4.趣购 5.乾坤大挪移心法 总结: 1.心愿便利贴 在初始化的时候输入框并没 ...

  8. 使用JavaScript解答2018第九届蓝桥杯C/C++省赛A组试题

    大三时参加过第七届蓝桥杯个人赛及团队赛,转眼已经两年,最近看了看第九届蓝桥杯试题,打算用JavaScript实现一下. 题目1 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + ...

  9. 蓝桥杯Web应用开发

    文章目录 介绍 策略 课程 题目 学习笔记 1.水果拼盘 2.分一分 3.冬奥大抽奖 4.灯的颜色变化 5.购物车 6.类型判断 7.商品销量和销售额实时展示看板 8.粒粒皆辛苦 9.水果叠叠乐 10 ...

最新文章

  1. Oracle Golden Gate体系架构详解(原创) - CzmMiao的博客生活 - ITeye技术网站
  2. 郭毅可教授在线受聘清华大学杰出访问教授并举行学术报告会
  3. python 执行shell命令行效率提升_在python脚本中执行shell命令的方法
  4. TypeScript里的类型合并操作符
  5. python 白盒测试_白盒测试教程 - 颜丽的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. matlab简易编程,MATLAB简单编程
  7. Tomcat 改BUG之 localhost:8080 404
  8. 如何用 Hook 实时处理和保存 Ajax 数据
  9. vb 通过php连接mysql数据库连接_php连接mysql数据库
  10. STM8学习笔记---定时器输出7路PWM波
  11. jquery select
  12. 物联网云计算成本核算 小厂的出路在哪里
  13. 51Nod-1101 换零钱【0/1背包+DP】
  14. 面试官:说说什么是 Java 内存模型(JMM)?
  15. Python之GUI编程 实现界面化的词云图生成器.exe
  16. 【RASA】NLU模块组件分析
  17. 2021年 IOS的发布流程(企业版那 无法下载,无法安装)
  18. 吉林大学单片机实验课实验五——重量测量
  19. 学3d建模和计算机编程,超好用的3D建模软件全科普,想要学好建模的你千万别错过!...
  20. 数据结构与算法之美笔记-链表(Linked list)

热门文章

  1. Apache NiFi远程代码执行-RCE
  2. 一键完美保存完整网页SingleFile
  3. 三相桥整流电路的有源逆变工作状态
  4. 一木.溪桥学Python-09:函数的返回值、函数的作用域、作用域的优先级、递归函数、内置文件中常用方法、匿名函数lambda、高阶函数
  5. ijkplayer的时序与状态图分析
  6. 毕老师讲Java--TreeSet
  7. 微信小程序-自定义导航组件
  8. Marr-Hildreth边缘检测器
  9. turtle的使用以及画小黄人
  10. 基于Python实现的词典分词方法或统计分词方法