求小于等于给定数值的质数之和。
只有 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),代码如下: