![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
freecodecamp
kimihiro_41
这个作者很懒,什么都没留下…
展开
-
给定数字范围求和
我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。最小的数字并非总在最前面。function sumAll(arr) { var result=0; a_start=Math.min(arr[0],arr[1]); a_end=Math.max(arr[0],arr[1]); while(a_start<=a_end){ result+=a原创 2017-06-26 00:53:30 · 630 阅读 · 0 评论 -
Validate US Telephone Numbers
如果传入字符串是一个有效的美国电话号码,则返回 true.用户可以在表单中填入一个任意有效美国电话号码. 下面是一些有效号码的例子(还有下面测试时用到的一些变体写法):555-555-5555 (555)555-5555 (555) 555-5555 555 555 5555 5555555555 1 555 555 5555在本节中你会看见如 800-692-7753 or 8oo-si原创 2017-06-26 17:44:14 · 801 阅读 · 2 评论 -
Arguments Optional
创建一个计算两个参数之和的 function。如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果。例如,add(2, 3) 应该返回 5,而 add(2) 应该返回一个 function。调用这个有一个参数的返回的 function,返回求和的结果:var sumTwoAnd = add(2);sumTwoAnd(3) 返回 5。如果两个参数都不是有原创 2017-06-26 15:42:10 · 749 阅读 · 0 评论 -
传入二进制字符串,翻译成英语句子并返回
传入二进制字符串,翻译成英语句子并返回。二进制字符串是以空格分隔的。function binaryAgent(str) { //将二进制串str用空格分割成数组code var code=str.split(' '); //保存最终字符串数组 var result=''; for(var i=0;i<code.length;i++){ //将数组code[i]中二进制数通过原创 2017-06-26 15:22:39 · 488 阅读 · 0 评论 -
对嵌套的数组进行扁平化处理
对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。思路Array.isArray(value) 可以用来判断某个值是否为数组,是则返回 true ,不是返回 false 。因为需要解决层级嵌套的问题,所以本题用递归来解决。遍历 arr 的每一项,如果该项为数组,则重复调用本函数,如果不是数组,则将这一项推入结果集中。function steamroller(arr) { var resul原创 2017-06-26 15:13:36 · 698 阅读 · 0 评论 -
删除数组中不符合条件的元素
让我们来丢弃数组(arr)的元素,从左边开始,直到回调函数return true就停止。第二个参数,func,是一个函数。用来测试数组的第一个元素,如果返回fasle,就从数组中抛出该元素(注意:此时数组已被改变),继续测试数组的第一个元素,如果返回fasle,继续抛出,直到返回true。最后返回数组的剩余部分,如果没有剩余,就返回一个空数组。思路用 while() 循环,当 func(arr[0]原创 2017-06-26 15:06:52 · 2251 阅读 · 0 评论 -
求能被两个给定参数和它们之间的连续数字整除的最小公倍数
找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。范围是两个数字构成的数组,两个数字不一定按数字顺序排序。例如对 1 和 3 —— 找出能被 1 和 3 和它们之间所有数字整除的最小公倍数。注意: 这里涉及到经典算法:求最大公约数gcd(greatest common divisor)和最小公倍数scm(smallest common multiple) gcd(最大公约数)算法过程原创 2017-06-26 14:57:32 · 650 阅读 · 0 评论 -
求小于等于给定数值的质数之和
求小于等于给定数值的质数之和。只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 2 整除。1 不是质数,因为它只能被自身整除。给定的数不一定是质数。function sumPrimes(num) { var sum=0; for (var i = 2; i <= num; i++) { var isPrimes=true;原创 2017-06-26 14:40:20 · 385 阅读 · 0 评论 -
给一个正整数num,返回小于或等于num的斐波纳契奇数之和
给一个正整数num,返回小于或等于num的斐波纳契奇数之和。斐波纳契数列中的前几个数字是 1、1、2、3、5 和 8,随后的每一个数字都是前两个数字之和。 提示:此题不能用递归来实现斐波纳契数列。因为当num较大时,内存会溢出。function sumFibs(num) { var a=0,b=0,c=1,sum=0; for(var i=0;c<=num;i++){ su原创 2017-06-26 14:07:59 · 512 阅读 · 0 评论 -
将字符串转换为以-连接的全小写单词
将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也就是以连字符连接所有小写单词。spinalCase(“This Is Spinal Tap”) 应该返回 “this-is-spinal-tap”。 spinalCase(“thisIsSpinalTap”) 应该返回 “this-is-spi原创 2017-06-26 13:58:49 · 288 阅读 · 0 评论 -
Sorted Union
写一个 function,传入两个或两个以上的数组,返回一个以给定的原始数组排序的不包含重复值的新数组。换句话说,所有数组中的所有值都应该以原始顺序被包含在内,但是在最终的数组中不包含重复值。非重复的数字应该以它们原始的顺序排序,但最终的数组不应该以数字顺序排序。function unite(arr1, arr2, arr3) { var array=[]; for(var i=0;i<ar原创 2017-06-26 13:37:10 · 365 阅读 · 0 评论 -
Missing letters
从传递进来的字母序列中找到缺失的字母并返回它。如果所有字母都在序列中,返回 undefined。1)function fearNotLetter(str) { var first = str.charCodeAt(0); //把第一个字母的Unicode值单独保存 for (var i = 0; i < str.length;i++) { //遍历str字符串原创 2017-06-26 13:19:23 · 234 阅读 · 0 评论 -
DNA Pairing
DNA 链缺少配对的碱基。依据每一个碱基,为其找到配对的碱基,然后将结果作为第二个数组返回。Base pairs(碱基对) 是一对 AT 和 CG,为给定的字母匹配缺失的碱基。在每一个数组中将给定的字母作为第一个碱基返回。例如,对于输入的 GCG,相应地返回 [[“G”, “C”], [“C”,”G”],[“G”, “C”]]字母和与之配对的字母在一个数组内,然后所有数组再被组织起来封装进一个数组。原创 2017-06-26 12:07:43 · 220 阅读 · 0 评论 -
Pig Latin
输入一个字符串,如果首字母为辅音,移到尾部,加后缀ay,如果为元音’aeiou’,加后缀way.function translate(str) { var reg = 'aeiou'; //把五个元音字母放到一个字符串里 var arr = str.split(''); if (reg.indexOf(arr[0]) >= 0){ //当单词第一个字母能在元音原创 2017-06-26 12:03:26 · 194 阅读 · 0 评论 -
使用给定的参数对句子执行一次查找和替换,然后返回新句子
使用给定的参数对句子执行一次查找和替换,然后返回新句子。第一个参数为搜索字符串,第二个参数为搜索目标,第三个参数为替换字符串 。注意:第二个参数首字母大写,第三个参数首字母也要大写。function myReplace(str, before, after) { if (before.charAt(0).toUpperCase() === before.charAt(0)) { afte原创 2017-06-26 11:46:22 · 757 阅读 · 0 评论 -
Wherefore art thou
返回collection内对象包含source对象内所有属性,并且值相等。function where(collection, source) { var arr = []; collection.forEach((cur) => { var has = true; Object.keys(source).forEach((c) => { if (source[c原创 2017-06-26 11:33:33 · 299 阅读 · 0 评论 -
将给定的数字转换成罗马数字
将给定的数字转换成罗马数字。function convert(num) {var a=[["","I","II","III","IV","V","VI","VII","VIII","IX"], //个位 ["","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"], //十位 ["","C","CC","CCC","CD","D","原创 2017-06-26 11:11:34 · 267 阅读 · 0 评论 -
比较两个数组,返回不同值
比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。function diff(arr1, arr2) { return arr1.filter(function(v){ return arr2.indexOf(v)==-1; //第一个数组在第二个数组中不同的项 }).concat(arr2.filter(functi原创 2017-06-26 10:50:27 · 1394 阅读 · 0 评论 -
Symmetric Difference
创建一个函数,接受两个或多个数组,返回所给数组的 对等差分(symmetric difference) (△ or ⊕)数组.给出两个集合 (如集合 A = {1, 2, 3} 和集合 B = {2, 3, 4}), 而数学术语 “对等差分” 的集合就是指由所有只在两个集合其中之一的元素组成的集合(A △ B = C = {1, 4}). 对于传入的额外集合 (如 D = {2, 3}), 你应该安原创 2017-06-27 20:34:46 · 1115 阅读 · 1 评论