js基础算法题。

数组去重:


检查指定字符是否包含重复的数字字母,包含返回true,否则false。

function repetition(str){
return /([0-9a-zA-Z])\1/.test(str); // 用()进行分组,[]里面的值作为引用,\1表示第一个分组,然后进行判断
}
repetition('111sss');   // 返回true  包含了重复

实现一个函数,参数与返回值的关系如下:
参数能同时被3与5整除,返回字符串a
参数能同时被3整除的,返回字符串b
参数能同时被5整除的,返回字符串c
参数为空||不是Number类型的,返回false
其他情况返回参数。


function fizzBuzz(num) {
    if(isNaN(num)){
        return false;
    }
    var str='';
    if(num%3===0){
        str+='a';
    }
    if(num%5===0){
        str+='c';
    }
    return str||num; 
}

检测重复元素

function delectionElement(val){
var result = [];
val.forEach(item=>{
if(arr.indexOf(elem) !=arr.lastIndexOf(elem) && result.indexOf(elem)==-1 ){
result.push(elem);
}
})
return result;
}

fn调用参数为函数第一个之后的全部参数。

function callIt(fn){
var arg = [].slice.call(arguments,1);
return  fn.apply(null,arg);
}

函数可以接收1个或多个参数,调用所有参数相加后的结果。

function useArguments(){
var arg = [].slice.call(arguments);
return arg.reduce((sum,item)=>{
return sum+item;
},0);
}

返回函数数组的result,长度与arr相同,结果也相同。

function makeClosures(arr,fn){
var reuslt = arr.map((item)=>{
return function(){
return fn(item);
}
})
return result;
}

排序从小到大。

var arr = [2,3,4,1,6];
arr.sort((a,b)=>{
return a-b;
})

字符串去重。

var str  = '123vsddss21';
var str1 = str.split(str);   // 首先字符串分割成数组
var result = [];   // 然后新建一个容器
for(var i = 0;i

字符串先排序后去重

var str = '1234211442';
var str1 = str.split(str);
var result = [];
str1.sort((a,b)=>{
return a -b ;
})
for(var i =0;i

统计一个字符串出现最多的字母和出现的次数。

var  str  = 'scdsvdsdsc';
var n = {};
var max = 0;
var maxChar = null;
for(var  i  = 0;i

你可能感兴趣的:(js基础算法题。)