JavaScript 脚本算法 #中级
幺四四零
这个作者很懒,什么都没留下…
展开
-
函数迭代可选参数算法挑战
挑战:创建一个计算两个参数之和的 function。如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果。例如,add(2, 3) 应该返回 5,而 add(2) 应该返回一个 function。调用这个有一个参数的返回的 function,返回求和的结果:var sumTwoAnd = add(2);sumTwoAnd(3) 返回 5。...原创 2020-03-07 14:39:35 · 166 阅读 · 0 评论 -
数组元素判断算法挑战
挑战:所有的东西都是真的!完善编辑器中的every函数,如果集合(collection)中的所有对象都存在对应的属性(第二个参数),并且属性(第二个参数)对应的值为真。函数返回ture。反之,返回false。记住:您可以通过点符号或[]符号来访问对象属性。例如: every([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy...原创 2020-03-07 12:18:57 · 122 阅读 · 0 评论 -
二进制转字符算法挑战
挑战:传入二进制字符串,翻译成英语句子并返回。二进制字符串是以空格分隔的。例如: binaryAgent("01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 001000...原创 2020-03-06 18:15:25 · 1067 阅读 · 0 评论 -
数组平铺算法挑战
挑战:对嵌套的数组进行平铺嵌套数组。你必须考虑到不同层级的嵌套。例如: steamroller([[["a"]], [["b"]]]) 应该返回 ["a", "b"]。 steamroller([1, [2], [3, [[4]]]]) 应该返回 [1, 2, 3, 4]。 steamroller([1, [], [3, [[4]]]]) 应该返回 [1, 3, 4]。 ...原创 2020-03-06 17:18:59 · 177 阅读 · 1 评论 -
数组取值算法挑战
挑战:删除数组(第一个参数)的元素,从左边开始,直到回调函数(第二个参数)return true就停止。第二个参数,func,是一个函数。用来测试数组的第一个元素,如果返回fasle,就从数组中抛出该元素(注意:此时数组已被改变),继续测试数组的第一个元素,如果返回fasle,继续抛出,直到返回true。最后返回数组的剩余部分,如果没有剩余,就返回一个空数组。例如: drop([1,...原创 2020-03-05 12:06:10 · 164 阅读 · 0 评论 -
数组验证算法挑战
挑战:写一个 function,它查找数组(第一个参数)并返回数组中第一个通过某种方法(第二个参数)验证的元素。例如: find([1, 3, 5, 8, 9, 10], function(num) { return num % 2 === 0; }) 应该返回 8。 find([1, 3, 5, 9], function(num) { return num %...原创 2020-03-04 21:32:29 · 106 阅读 · 0 评论 -
最小公倍数算法挑战
挑战:参考:最小公倍数算法挑战找到所提供参数的最小公倍数,这两个参数可以均匀分配,以及这些参数之间范围内的所有最小公倍数。范围是两个数字构成的数组,两个数字不一定按数字顺序排序。例如:对 1 和 3 —— 找出能被 1 和 3 和它们之间所有数字整除的最小公倍数。 smallestCommons([1, 5]) 应该返回一个数字。 smallestCommon...原创 2020-03-03 22:20:00 · 144 阅读 · 0 评论 -
质素求和算法挑战
挑战:参考:质素求和算法挑战求小于等于给定数值的质数之和。只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 2 整除。1 不是质数,因为它只能被自身整除。给定的数不一定是质数。例如: sumPrimes(10) 应该返回一个数字。 sumPrimes(10) 应该返回 17。 sumPrimes(977) 应该返回 731...原创 2020-03-03 21:46:56 · 195 阅读 · 0 评论 -
斐波纳契奇数求和算法挑战
挑战:给一个正整数num,返回小于或等于num的斐波纳契奇数之和。斐波纳契序列中的前两个数字是1和1.序列中的每个附加数字是前面两个数字的和。斐波纳契序列的前六个数字是1,1,2,3,5和8。例如,sumFibs(4)应该返回 5,因为斐波纳契数列中所有小于4的奇数是 1、1、3。提示:此题不能用递归来实现斐波纳契数列。因为当num较大时,内存会溢出,推荐用数组来实现。答案:funct...原创 2020-03-03 21:25:56 · 390 阅读 · 0 评论 -
字符串连接算法挑战
挑战:将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也就是以连字符连接所有小写单词。例如: spinalCase("The_Andy_Griffith_Show") 应该返回 "the-andy-griffith-show"。 ...原创 2020-03-03 18:31:14 · 203 阅读 · 0 评论 -
html符号转实体算法挑战
挑战:将字符串中的字符 &、<、>、" (双引号), 以及 ’ (单引号)转换为它们对应的 HTML 实体。如果你被卡住了,记得开大招 Read-Search-Ask。尝试与他人交流编程思路、但编写你自己的代码。例如: convert("Dolce & Gabbana") 应该返回 Dolce & Gabbana。conv...原创 2020-03-03 10:57:56 · 147 阅读 · 0 评论 -
数组去重算法挑战
挑战:参考:数组去重算法挑战数组去重的几种算法写一个 function,传入两个或两个以上的数组,返回一个以给定的原始数组排序的不包含重复值的新数组。换句话说,所有数组中的所有值都应该以原始顺序被包含在内,但是在最终的数组中不包含重复值。非重复的数字应该以它们原始的顺序排序,但最终的数组不应该以数字顺序排序。例如: unite([1, 3, 2], [5, 2...原创 2020-03-02 12:13:03 · 194 阅读 · 0 评论 -
输入检查算法挑战
挑战:检查一个值是否是基本布尔类型,并返回 true 或 false。基本布尔类型即 true 和 false。参考:输入检查算法挑战例如: boo(true) 应该返回 true。 boo(false) 应该返回 true。 boo([1, 2, 3]) 应该返回 false。 boo([].slice) 应该返...原创 2020-03-02 10:36:15 · 89 阅读 · 0 评论 -
字符串查询补充算法挑战
挑战:参考:字符串查询补充算法挑战从传递进来的字母序列中找到缺失的字母并返回它。如果所有字母都在序列中,返回 undefined。例如答案:原创 2020-03-01 17:07:40 · 167 阅读 · 0 评论 -
字符配对算法挑战
挑战:参考:字符配对算法挑战DNA 链缺少配对的碱基。依据每一个碱基,为其找到配对的碱基,然后将结果作为第二个数组返回。Base pairs(碱基对) 是一对 AT 和 CG,为给定的字母匹配缺失的碱基。在每一个数组中将给定的字母作为第一个碱基返回。例如,对于输入的 GCG,相应地返回 [[“G”, “C”], [“C”,“G”],[“G”, “C”]]字母和与之配对的字母在一个...原创 2020-03-01 16:37:41 · 149 阅读 · 0 评论 -
字符串移动插入算法挑战
挑战:参考:字符串移动插入算法挑战把指定的字符串翻译成 pig latin。Pig Latin 把一个英文单词的第一个辅音或辅音丛(consonant cluster)移到词尾,然后加上后缀 “ay”。如果单词以元音开始,你只需要在词尾添加 “way” 就可以了。输入字符串保证是英文单词全部小写。例如:translate(“california”) 应该返回 “alifornia...原创 2020-02-28 21:11:15 · 160 阅读 · 0 评论 -
字符串查询替换算法挑战
挑战:原创 2020-02-26 15:31:46 · 149 阅读 · 0 评论 -
对象搜索算法挑战
挑战:参考资料:对象搜索算法挑战写一个 function方法,它遍历一个对象数组(第一个参数)并返回一个包含相匹配的属性-值对(第二个参数)的所有对象的数组。如果返回的数组中包含 source 对象的属性-值对,那么此对象的每一个属性-值对都必须存在于 collection 的对象中。例如如果第一个参数是 [{ first: “Romeo”, last: “Montague” }, {...原创 2020-02-25 17:01:42 · 100 阅读 · 0 评论 -
数字转罗马数字
挑战:将给定的数字 1 ~ 3999 转换成罗马数字。所有返回的 罗马数字 都应该是大写形式。答案:引用链接地址:javascript-数字转罗马数字function convert(num) { var ans = ""; var k = Math.floor(num / 1000); var h = Math.floor((num % 1000) / 10...原创 2020-02-24 19:43:11 · 357 阅读 · 0 评论 -
找出数组间差异算法挑战
挑战:比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。例如:diff([1, 2, 3, 5], [1, 2, 3, 4, 5]) 应该返回一个数组。[“diorite”, “andesite”, “grass”, “dirt”, “pink wool”, “dead shrub”],[“diorite”, “andesite...原创 2020-02-22 11:59:47 · 298 阅读 · 0 评论 -
区间求值算法挑战
挑战:我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。最小的数字并非总在最前面。例如:sumAll([1, 4]) 应该返回一个数字。sumAll([1, 4]) 应该返回 10。sumAll([4, 1]) 应该返回 10。sumAll([5, 10]) 应该返回 45。sumAll([10, 5]) 应该返回 45。答案:```javascri...转载 2020-02-21 11:07:28 · 232 阅读 · 0 评论