ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

前端面试题 - js - es5

2021-11-22 01:31:42  阅读:446  来源: 互联网

标签:function 面试题 return 补全 es5 value js number array


前端面试题 - js - es5

数据类型

基本数据类型检测

请补全JavaScript函数,要求以字符串的形式返回参数的类型。
注意:只需检测基本数据类型。

function _typeof(value) {
    // 补全代码
    let str = Object.prototype.toString.call(value)
    let substring = str.substring(8, str.length -1).toLowerCase()
     
    return substring
}

检测复杂数据类型

请补全JavaScript函数,要求以Boolean的形式返回第一个参数是否属于第二个参数对象的实例。

function _instanceof(left,right) {
    // 补全代码
    return Boolean(left instanceof right)
}

数据类型转换

请补全JavaScript函数,要求以字符串的形式返回两个数字参数的拼接结果。
示例:

  1. _splice(223,233) -> "223233"
  2. _splice(-223,-233) -> "-223-233"
function _splice(left,right) {
    // 补全代码
    return left+String(right)
    return left+''+right;
}

运算符

阶乘

请补全JavaScript函数,要求返回数字参数的阶乘。
注意:参数为大于等于0的整数。

function _factorial(number) {
    // 补全代码
    if(number===1)
        return 1;
    return number*_factorial(number-1);
}

绝对值

请补全JavaScript函数,要求返回数字参数的绝对值。

function _abs(number) {
    // 补全代码
    return number>=0?number:-number
}

请补全JavaScript函数,要求返回底数为第一个参数,幂为第二个参数的数值。

// tip 
// Math.pow(0,0) // 1
// Math.pow(any,0) // 1
// Math.pow(1,any) // 1
// Math.pow(1,any) // 1
// Math.pow(-any,-any) //
// Math.pow(-any,-any) //
function _pow(number,power) {
    // 补全代码
    // return number**power // -1 ** any Error 
    return Math.pow(number, power)  
}

**

x**n 相当于 Math.pow(x,n) 即x的n次方

平方根

请补全JavaScript函数,要求返回数字参数的平方根。

function _sqrt(number) {
    // 补全代码
    //JS Math对象方法 sqrt(x) x的平方根
    return Math.sqrt(number);
}

余数

请补全JavaScript函数,要求返回数字参数除以2的余数。

function _remainder(value) {
    // 补全代码
    return value % 2 
    return value - (value>>1)*2
}

流程控制

请补全JavaScript函数,要求以字符串的形式返回数字参数所对应的星期。
示例:

  1. _getday(1) -> "星期一"
  2. _getday(7) -> "星期天"
function _getday(value) {
    // 补全代码
    return "星期"+['一','二','三','四','五','六','天'][value%7-1]
}

内置对象

从大到小排序

请补全JavaScript函数,要求将数组参数中的数字从大到小进行排序并返回。

function _sort(array) {
    // 补全代码
    return array.sort( (a,b) => b - a)
}

冒泡排序

function _sort(array) {
    // 补全代码
    var temp;
    for(let i=0;i<array.length;i++){
        for(let j=i+1;j<array.length;j++)
            if(array[i]<array[j]){
              temp=array[i];
                array[i]=array[j];
                array[j]=temp;
            }
      
    }
    return array;
}

大写字符串

function _touppercase(string) {
    return string.toUpperCase();
}

对象属性键名

请补全JavaScript函数,要求以数组的形式输出对象各个属性的键名。
示例:

  1. _keys({name:'nowcoder',age:7}) -> ['name','age']
    注意:只需考虑对象属性均为原始数据类型的情况。
function _keys(object) {
    // 补全代码
    return Object.keys(object)
    return Reflect.ownKeys(object)
    return Object.getOwnPropertyNames(object)
}

function _keys(object) {
    // 补全代码
    let arr=[]
    for (k in object)
        arr.push(k);
    return arr
}

对象数字

请补全JavaScript函数,要求将数字参数转换为对象的形式返回。
示例:

  1. typeof number === 'number' -> typeof _numbertoobject(number) === 'object'
function _numbertoobject(number) {
    // return {number}
    if( typeof number === 'number')
        return new Number(number);
}

对象字符串

请补全JavaScript函数,要求将字符串参数转换为对象的形式返回。
示例:

  1. typeof string === 'string' -> typeof _stringtoobject(string) === 'object'
function _numbertoobject(string) {
    return new String(string);
    return {string}
}

去除字符串两端空格

function _trim(string) {
    // 补全代码
    return string.replace(/^\s*|\s*$/g,'')
    return string.trim()
}

输出日期

请补全JavaScript函数,要求以字符串的形式输出时间戳参数所对应的"年-月-日"。
示例:

  1. _date(1631159776311) -> '2021-9-9'
function _date(number) {
    // 补全代码
    let date = new Date(number)
    return date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate()
    return new Date(number).toLocaleDateString().replace('/','-').replace('/','-')
}

数字取整

function _int(value) {
    // 补全代码
    return value >> 0
    return parseInt(value)
    return Number(String(value).split('.')[0])
}

数组反转

function _reverse(array) {
    // 补全代码
    return array.reverse()
    let newArray = []
    array.map((e, i) => newArray.push(array[array.length - 1 - i]))
    return newArray
}

数组转字符串

请补全JavaScript函数,要求将参数数组转换为字符串输出。
示例:

  1. _join([1,'2',3]) -> "123"
    注意:只需考虑一维数组且数据类型为原始数据类型。
function _join(array) {
    // 补全代码
    return array.join('')
    return array.toString().replace(/,/g,'');
    return array.reduce((per,cur,index,array)=>per+cur,'');
}

数组最大值

function _max(array) {
    // 补全代码
    return Math.max(...array);
    return Math.max.apply(null, array)
    return array.sort((a,b)=>b-a)[0]
    return array.sort()[array.length-1]
}

搜索数字

请补全JavaScript函数,要求以boolean的形式返回字符串参数中是否包含数字。

function _search(string) {
    // 补全代码
    return /\d/g.test(string)
    for(var i=0;i<10;i++){
        if(string.indexOf(i)!=-1){
            return true
        }
    }
    return false
}

头部插入元素

请补全JavaScript函数,要求将第二个参数插入第一个参数数组的头部,并且以数组的形式返回。

// Error return array.unshift(value) //这个返回的是新数组的长度,而不是新数组
function _unshift(array,value) {
    // 补全代码 
    return [value,...array]
    return [value].cancat(array)
    // return array.splice(0,0,value) // Error []
}

尾部插入元素

function _push(array,value) {
    // 补全代码
    return [...array,value]
    return array.cancat([value])
    array.push(value)
    return array
    // return array.push(value)  //这个返回的实际上是数组的长度
}

js-位置查找

请补全JavaScript函数,要求以数字的形式返回第一个参数数组中第二个参数所在的首个索引值。
注意:如果数组中不存在目标值,则返回-1。

function _indexof(array,value) {
    // 补全代码
    return array.indexOf(value)
    return array.reduce((p,c,i) => p<0&&c===value? i:p, -1)
}

向下取整

function _floor(number) {
    // 补全代码
    return Math.floor(number)
}

整数反转

请补全JavaScript函数,要求将整数参数反转之后输出。
示例:

  1. _reverse(0) -> 0
  2. _reverse(233) -> 332
  3. _reverse(-223) -> -322
function _reverse(number) {
    // 补全代码
    var temp = (number+'').split('')
    return number<0 ? -1*parseInt(temp.reverse().join('')) : parseInt(temp.reverse().join(''))
}

字符串搜索

请补全JavaScript函数,要求以boolean的形式返回字符串首参中是否包含第二个参数。

function _search(string,value) {
    // 补全代码
    return string.indexOf(value)==-1?false:true;
    return string.indexOf(value)!=-1
}

函数

参数对象

请补全JavaScript函数,要求返回它的参数伪数组对象。

function getArguments (a,b,c) {
    // 补充代码
    return arguments
}

this指向

请补全JavaScript函数,使obj对象中fn函数返回该对象中a属性和b属性的和。

var obj = {
    a: 1,
    b: 2,
    fn: function(){
        // 补全代码
        return this.a+this.b
    }
}

标签:function,面试题,return,补全,es5,value,js,number,array
来源: https://www.cnblogs.com/zc-lee/p/15586760.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有