关于javascript:前端面试题目积累1持续更新中

对于变量作用域

// 纸上得来终觉浅, 绝知此事要躬行。

f1()

console.log(c)
console.log(b)
console.log(a)

function f1(){
    var a = b = c = 7;
    console.log(a)
    console.log(b)
    console.log(c)
}

// 该题后果为: 7、7、7、7、7、a is not defined(error 报错)
// 其中 var a = b = c = 7,相当于 var a = 7 ; b = 7; c = 7

两个数两头的随机整数,并且蕴含这两个数

function getRandom(min,max){
    return Math.floor(Math.random()*(max-min+1)) + min);
}

获取工夫戳

// 办法一 : valueOf ,办法二 getTime()
var data = new Date()
console.log(data.valueOf())
console.log(data.getTime())
// 办法三:
var data1 = +new Date()
// 办法四:(H5新增办法)
var data2 = Date.now()

对于数组

检测是否为数组

  • arr instanceof Array 返回值为true 或者fasle
  • Array.isArray(arr) H5新增的办法

数组的增删改

  • push() 在数组的开端增加一个或者多个元素。push的 返回值为数组的长度,push后原数组也会产生扭转
  • unshift() 在数组的开始增加一个或者多个元素,返回值为数组长度,原数组会扭转
  • pop() 删除数组最初一个元素,返回值为删除的那个元素,原数组会扭转
  • shift() 删除数组第一个元素,返回值为删除的那个元素,原数组会扭转

数组排序

  • 冒泡排序(外层循环示意趟数,里层循环示意比拟次数)

    function sortNum(arr){
    for(var i = 0 ;i<arr.length;i++){
      for(var j = 0 ;j<arr.length-i-1;j++){
          if(arr[j]>arr[j+1]){
              var tmp = arr[j]
              arr[j] = arr[j+1]
              arr[j+1] = tmp
          }
      }
    }
    return arr
    }
  • 数组罕用办法

    // sort 排序
    var arr = [0,8,1,3,9,4,10]
    // a-b为升序,b-a为降序
    arr.sort((a,b)=>a-b)
    console.log(arr)
    
    //数组翻转
    arr.reverse()
    console.log(arr)
    
    // 数组转换成字符串
    console.log(arr.toString())
    console.log(arr.join()) //join(分隔符) ,不传入的时候,默认为, 
    
    // concat() 连贯连个或者多个数组,不影响原数组,返回一个新数组
    // slice()  数组截取slice(begin,end)  返回被截取我的项目的新数组
    // splice()  数组删除 splice(第几个开始,要删除个数) ,返回被删除我的项目的新数组,留神:这个会影响原数组
    
    

    数组去重

    function unique(arr){
      var newArr = []
      for(var i = 0;i<arr.length;i++){
          if(newArr.indexOf(arr[i])===-1){
              newArr.push(arr[i])
          }
      }
       return newArr
    }
    arr = ['1','3','4','1','2']
    console.log(unique(arr))

    获取数组元素的索引号

  • indexOf(元素),返回该元素的索引号(从后面开始查找给定的第一个元素的索引),如果元素不存在数组中,返回-1
  • lastIndexOf(元素,可选参数),返回该元素的索引号,(从前面查找给定的第一个元素的索引值),不存在则返回-1。可选的整数参数。规定在字符串中开始检索的地位

indexOf() 实例面试题

// 查找字符串中所有n呈现的地位及次数
var stringTmp = 'gai-ge-chun-feng-cui-man-di'
var idx = stringTmp.indexOf('n')
var count = 0;
var positArr = []
while(idx!=-1){
    count++;
    positArr.push(idx)
    idx = stringTmp.indexOf('n',idx+1)
}
positArr = positArr.join()
console.log(`n呈现的地位别离是${positArr},呈现的次数为 ${count}`)

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理