1、
方法:
function indexOf(arr,index){
return arr.indexOf(index)
}
2、
方法:
function sum(arr){
var count=0;
for(var a of arr){
count+=a
}
return count;
}
3、
方法:
function remove(arr,item){
var newArr=[];
for(var i=0;i<arr.length;i++){
if(arr[i]!=item){
newArr.push(arr[i])
}
}
return newArr;
}
4、
方法:
function append(arr, item) {
var arrCopy=arr.slice();
arrCopy.push(item);
return arrCopy;
}
5、
function truncate(arr){
var newArr=arr.slice();
newArr.pop(arr);
return newArr;
}
6、
function prepend(arr, item) {
var newArr=arr.slice();
newArr.unshift(item);
return newArr;
}
7、
方法:
function curtail(arr) {
var newArr=arr.slice();
newArr.shift();
return newArr;
}
8、
方法:
function concat(arr1, arr2) {
var add=arr1.concat(arr2);
return add;
}
9、
方法:
function insert(arr, item, index) {
var newArr=arr.slice();
newArr.splice(index,0,item);
return newArr;
}
10、
方法:
function count(arr, item) {
var count=0;
for(var a of arr){
if(a==item){
count++
}
}
return count;
}
11、
方法:
function findAllOccurrences(arr, target) {
var newArr=[];
for(var a=0;a<arr.length;a++){
if(arr[a]===target){
newArr.push(a);
}
}
return newArr;
}
12、
方法:
function functions(flag) {
if (flag) {
// function getValue() { return 'a'; }
var getValue=function(){
return 'a';
}
} else {
// function getValue() { return 'b'; }
var getValue=function(){
return 'b';
}
}
return getValue();
}
13、正确使用parseInt
修改 js 代码中 parseInt 的调用方式,使之通过全部测试用例
示例1
输入
‘12’
输出
12
示例2
输入
‘12px’
输出
12
示例3
输入
‘0x12’
输出
0
function parse2Int(num) {
return parseInt(num,10);
}
14、完全等同
判断 val1 和 val2 是否完全等同
方法:
function identity(val1, val2) {
return val1===val2?true:false;
}
15、
实现一个打点计时器,要求
1)从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1
2)返回的对象中需要包含一个 cancel 方法,用于停止定时操作
3)第一个数需要立即输出
方法:
function count(start, end) {
console.log(start++);
var timer=setInterval(function(){
if(start<=end){
console.log(start++)
}else{
clearInterval(timer)
}
},100)
return{
cancel:function(){
clearInterval(timer)
}
}
}
16、
实现 fizzBuzz 函数,参数 num 与返回值的关系如下:
1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz
2、如果 num 能被 3 整除,返回字符串 fizz
3、如果 num 能被 5 整除,返回字符串 buzz
4、如果参数为空或者不是 Number 类型,返回 false
5、其余情况,返回参数 num
输入
15
输出
fizzbuzz
function fizzBuzz(num) {
if(num%3 == 0 && num%5 == 0)
return "fizzbuzz"
else if(num%3==0)
return "fizz"
else if(num%5==0)
return "buzz"
else if(num==null||typeof num!='number')
return false
else
return num;
}
17、函数传参
将数组 arr 中的元素作为调用函数 fn 的参数
示例1
输入
function (greeting, name, punctuation) {return greeting + ', ’ + name + (punctuation || ‘!’);}, [‘Hello’, ‘Ellie’, ‘!’]
输出
Hello, Ellie!
方法:
function argsAsArray(fn, arr) {
return fn.apply(this,arr);
}
18、
将函数 fn 的执行上下文改为 obj 对象
示例1
输入
function () {return this.greeting + ', ’ + this.name + ‘!!!’;}, {greeting: ‘Hello’, name: ‘Rebecca’}
输出
Hello, Rebecca!!!
方法:
function speak(fn, obj) {
return fn.apply(obj,obj)
}