笔试题目

面试狗带的第一天

1. 怎么判断一个字符串里面是否有重复的元素

let a = 'stringsss'
let b = a.split("")
function abs() {
  let c = []
  for(let i=0; i<b.length; i++){
    if(c.indexOf(b[i])===-1){
       c.push(b[i])
    }
  }
  if(c.length<b.length){
  	console.log('重复')
  }else{
    console.log('无重复')
  }
}
abs()

2. js数组去重

方法1:for循环遍历+indexOf 

var cars = ["BMW", "Volvo", "Audi", "Audi"];
function abs(){
  var carsNewArray = [];
  for (i = 0; i < cars.length; i++) {
    if(carsNewArray.indexOf(cars[i])==-1){
      carsNewArray.push(cars[i])
    }
  }
  return carsNewArray
}
abs()

方法2: ES6的set对象方法

var  cc = new Set(cars)
console.log(cc)

3.字符串AAAAAAAbbbCCCC按照重复的元素排序输出ACb

let theString = "AAAAAAAbbbCCCC"
let newObj = {}
function getStr(value){
    for(let i = 0; i<value.length; i++){
        let charAt = value.charAt(i)
    	if(newObj[charAt]){
          newObj[charAt]++
        }else{
          newObj[charAt] = 1
        }
    }

}
getStr(theString)
let rank = Object.keys(newObj).sort((a,b)=> newObj[b]-newObj[a]).join('')
console.log(rank)

 

面试狗带的第四天

1.闭包

function warp(){
    function inner(){
        let name = "Lisa"
        return name
    }
    return warp
}
console.log(warp())
console.log(warp()())


// function inner(){
//        let name = "Lisa"
//       return name
//   }

// Lisa

2. 算法

求100以内的质数

3.提取下面数组相同项,以相同项的value值来作为key组成一个二维数组

[{
    id: 111,
    name: 'Lisa',
    state:1,
    rank: 1
    company: '腾讯科技'
 },{
    id: 112,
    name: 'Lily',
    state:0,
    rank: 1
    company: '顺丰科技'
 },{
    id: 113,
    name: 'Frank',
    state:0,
    rank: 1
    company: '哈哈科技'
 },{
    id: 114,
    name: 'Clover',
    state:1,
    rank: 1
    company: '拉布拉布科技'
 },{
    id: 115,
    name: 'Nika',
    state:1,
    rank: 1
    company: '腾讯科技'
 }
]

4.写一个电话号码的正则表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值