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