天天看点

js常见笔试题及其相关知识点(一)

一:相关知识点:

1.splice:splice()方法对数组进行删除和添加splice(index,many,a,b...)表示数组从index位置删除多少个元素,后续参数表示在删除位置添加的元素,代码如下:

//splice是用来切割数组
//参数1:开始位置;参数二:切割数量;参数三:切割后的替换内容
var arr1=['1','5','7','8','12'];
arr1.splice(2,1,'a');
console.log('替换之后的数组为:',arr1);//替换之后的数组为: [ '1', '5', 'a', '8', '12' ]
           

2.slice:slice(start,end)截取从start-end之间的数组,返回一个新数组,代码如下:

//slice是用来截取数组,并且返回一个新数组
//参数一:开始位置;参数二:结束位置;
var arr1=['1','5','7','8','12'];
var arr2=arr1.slice(2,4);
console.log(arr2);//[ '7', '8' ]
           

3.reverse:用来颠倒数组中的元素位置,改变的是原数组不会生成新的数组,代码如下:

//reverse数组翻转,会更改原数组
var arr1=['1','2','3','4','5'];
arr1.reverse();
console.log(arr1);//[ '5', '4', '3', '2', '1' ]
           

4.substr:substr(start,length)从start开始的位置抽取长度为length的字符串,代码如下:

//substr截取字符串,返回一个新的字符串
//参数一:开始位置;参数二:截取长度
var str1='adfsadf';
var str2=str1.substr(1,5);
console.log(str2);//dfsad
           

5.substring:substring(start,stop)截取start-stop之间的字符串,start和stop之间最小的数值为起始点,任何一个数为负数都会被替换成o,代码如下:

//substring用来截取字符串,返回一个新的字符串
//参数一:开始位置;参数二:结束位置;
var str1='dafgadgfda';
var str2=str1.substring(2,5);
console.log(str2);//fga
           

6.join :array->string  join(b),b表示在每个间隔中间要添加的参数,代码如下:

//join将数组转为字符串
//参数表示在每个字符之间需要添加的内容
var arr1=[ 's', 's', 'd', 'f', 'd', 's', 'a', 'f', 's', 'a', 'd' ];
var str1=arr1.join('');
console.log(str1);//ssdfdsafsad
           

7.split:string->array  split(a),a表示遇到a进行分割形成数组,代码如下:

//split将字符串转为数组
//参数表示遇到某个字符进行切割
var str1='ssdfdsafsad';
var arr1=str1.split('');
console.log(arr1);//[ 's', 's', 'd', 'f', 'd', 's', 'a', 'f', 's', 'a', 'd' ]
           

二:相关面试题: 

1.查找1-1000以内的回文数,代码如下:

//拓展:如何找到1-1000之间的回文数
//思路:首先得明白什么是回文数,例如121,313,正序和倒序都一样;
function getResult(){
    for(let value=1;value<1001;value++){
        var newValue=value.toString().split('').reverse().join('');
        if(value==newValue){
            console.log(value);
        }
    }
}
getResult();
           

2.如何将指定字符串更改为驼峰命名方式,代码如下:

//将字符串改为驼峰命名
var str1='scheme-editor-panel';
//将字符串转换为数组
var arr1=str1.split('-');
var arr2=[];
var str3;
//替换方法
function replaceFun(){
//遍历数组中的每一项
for(var i in arr1){
    var str2=arr1[i].replace(arr1[i][0],arr1[i][0].toUpperCase());
   arr2.push(str2);
}
str3=arr2.join('');
}
replaceFun();
console.log('驼峰命名为',str3);//驼峰命名为 SchemeEditorPanel
           

3.如何将一串数字装化为千分位的格式,代码如下:

/**将一串数字转为千分位格式 */
var str='4621873641823443214';
var length=str.length;
var index=0;
var arr=str.split('');
while(length-index>0){
    if(index!=0){
        arr.splice(length-index,0,',');
    }
    index+=3;
}
var str2=arr.join('');
console.log('格式化后的字符串为:',str2);//格式化后的字符串为: 4,621,873,641,823,443,214
           

继续阅读