Freecodecamp中级算法

求小于等于给定数值的质数之和。

只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 2 整除。1 不是质数,因为它只能被自身整除。

给定的数不一定是质数。


其实我们完全可以不用将质数全部取出来,可以将 2 到给定值之间的所有整数加起来,然后在这期间判断一下,如果 “ 不是质数 ” ,就将这个数减掉即可,代码如下:

代码


找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。

范围是两个数字构成的数组,两个数字不一定按数字顺序排序。

例如对 1 和 3 —— 找出能被 1 和 3 和它们之间所有数字整除的最小公倍数


根据题目,先把两个给定参数之间的连续数字取出来放在一个临时数组 _arr 中,然后利用 reduce() 方法依次求最小公倍数,而两个数的最小公倍数 = 两数乘积 / 两数的最大公约数,所以这里专门写了一个函数,利用辗转相除法求最大公约数,代码如下:

代码


写一个function,它遍历数组arr,并返回数组中第一个满足func返回值的元素。举个例子,如果arr为[1, 2, 3],func为function(num) {return num === 2; },那么find的返回值应为2。



自己写的

function find(arr,func)

{

arr=arr.filter(func);

returnarr[0];

}


让我们来丢弃数组(arr)的元素,从左边开始,直到回调函数return true就停止。

第二个参数,func,是一个函数。用来测试数组的第一个元素,如果返回fasle,就从数组中抛出该元素(注意:此时数组已被改变),继续测试数组的第一个元素,如果返回fasle,继续抛出,直到返回true。

最后返回数组的剩余部分,如果没有剩余,就返回一个空数组。


题目的意思是,将数组参数放入函数中检测,并将第一个满足条件的元素之前的所有元素删除,所以我们先用 filter() 方法取得满足条件的元素数组的第一个 firstTrue ,然后用 firstTrue 与原数组的第一个元素比较,不相等便删除,直到 firstTrue 变为数组的第一个元素,代码如下:


function drop(arr, func) {

// Drop them elements.

var firstTrue = arr.filter(func)[0];

while(firstTrue !== arr[0]) {

arr.shift();

}

return arr;

}


对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。



代码

传入二进制字符串,翻译成英语句子并返回。

二进制字符串是以空格分隔的。


parseInt(string,radix) 函数可解析一个字符串,并返回一个整数。

fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。


参数解释
代码

所有的东西都是真的!

完善编辑器中的every函数,如果集合(collection)中的所有对象都存在对应的属性(pre),并且属性(pre)对应的值为真。函数返回ture。反之,返回false。

记住:你只能通过中括号来访问对象的变量属性(pre)。

提示:你可以有多种实现方式,最简洁的方式莫过于Array.prototype.every()



创建一个计算两个参数之和的 function。如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果。

例如,add(2, 3)应该返回5,而add(2)应该返回一个 function。

调用这个有一个参数的返回的 function,返回求和的结果:

var sumTwoAnd = add(2);

sumTwoAnd(3)返回5。

如果两个参数都不是有效的数字,则返回 undefined。


传入的参数有几很多种可能,但具体可以分为三种情况:两个数字,只有一个数字,参数中有非数字。第三种情况直接返回 Undefined ,第一种直接返回两数之和,第二种返回一个函数,将当前数字加上传入的参数即可(当然,如果参数是非数字则返回 Undefined),代码如下:


推荐阅读更多精彩内容

  • 1.Sum All Numbers in a Range 一个数组。返回最大最小的两个数字和它们之间所有数字的和。...
    爱吃的根号三阅读 564评论 0 49
  • 1.计算一个范围数字之和 我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。 sumAl...
    少年vv阅读 949评论 2 3
  • 1、区间求值算法(Sum All Numbers in a Range) 我们会传递给你一个包含两个数字的数组。返...
    Iris_mao阅读 1,203评论 0 2
  • 什么都懂,却从不努力
    千寻梦qmf阅读 35评论 0 0
  • 离开你已有二十年,你早不记得我的模样,我却依然为你梦绕魂牵!你的春风依然那么强劲,你的夏天依然那么炙热,你的秋...
    曼馨私语阅读 160评论 0 2
  • 鱼的头颅 在沙子里寻找温暖的抚摸 种在石头上的血液 涌动着潮湿的河流 眼睛去了哪里 肉体去了哪里 还有瞎眼的少女 ...
    人间日暖阅读 137评论 5 5
  • 伊朵闭着双眼,深深的吸了一口气,双手合十抵在自己的心轮上,感觉自己的心轮在慢慢打开,一股能量穿行在自己的身体内...
    yoga唯阅读 98评论 0 2
  • 到了大学,你必须要习惯快餐式的校园爱情。爱情的来到并非想象中的困难与浪漫,也许二人某个时刻的一拍即合,一段...
    hypgirl阅读 481评论 0 1