首页 > 其他分享 >笔试经典题目

笔试经典题目

时间:2025-01-15 13:32:10浏览次数:1  
标签:arr const 题目 res 笔试 return item 经典 obj


// 笔试经典题目
 let str = 'abc#name&defg'
// 01.测试字符串的翻转
const res = str.split('').reverse().join('')

 console.log('测试字符串的翻转',res);

02.取出里面的name

const index1 =str.indexOf('#')
 const index2 = str.indexOf('&')
const newName=str.slice(index1+1,index2)


03,数据扁平化
 const arr = [1,[2,[3,[4,5]]]]
 function fn(arr) {
 return arr.reduce((pre,cur)=>{
return pre.concat(Array.isArray(cur)? fn(cur):cur)
 })
}

 数据扁平化
 fi(list) {
 return arr.reduce((pre,cur)=>{
return pre.concat(Array.isArray(cur)?fi(cur):cur)
 })
 },
 const res = arr.flat(Infinity)

console.log('数据扁平化',res);
// 04.数组去重
const arr=[1,1,'1',true,false,true,'a']
// 第一种
// const res = Array.from(new Set(arr))

// 第二种
// const res = [...new Set(arr)]
// 第三种 include
 let res =[]
 arr.forEach(item=> {
 if(!res.includes(item)){
res.push(item)
}
 })

// 第4种 filter 与indexof
let arr=[]
 const res= arr.filter((item,index)=> arr.indexOf(item)===index) // 取反
 console.log('数组去重',res)
05.不确定参数求总和
 return this.list.reduce((sum,item)=> sum+ item.price,0)

// 第一种方法
sumCount(...arr) {
 return arr.reduce((sum,item)=> sum+item,0)
 },

console.log(this.sumCount(1,2,3,4,5))

// 第二种方法
 console.log(this.sumCount(1,2,3,4,5))
// 写一个sleep延时执行
sleep(time){
// return new Promise((res)=>{
// setTimeout(()=>{
// res(111)

// },time)
// })
// }
// console.log(22222);
// this.sleep(2000).then(res=>{
// console.log(res)
// })
// console.log(3333)
// this.sleep(2000).then(res=>{
// console.log(res)
// })

// 06 数组对象去重
// const newArr = [
// { goods:'1',quota:12,skuid:'1'},
// { goods:'2',quota:12,skuid:'2'},
// { goods:'1',quota:12,skuid:'1'},
// ]


// uniquerFn(arr,uniId) {
// const res = new Map()
// return newArr.filter(item=> !res.has(item[uniId]) && res.set(item[uniId],1))

// },


// console.log('uniqueFn(newArr, uniId)', this.uniquerFn(newArr, 'skuId'))
// console.log('数组对象去重',this.uniquerFn(newArr,goods));

// 给一个数组,返回结果,不要其中两个元素
// let arr = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
// 返回结果: [10, 9, 6, 5, 4, 3, 2, 1]

// 第一种方法
// const res =arr.slice(0,2).concat(arr.slice(4))
// 第二种方法 用数组来进行保留不等于index 的数据
// const res = arr.filter((item,index)=> index !==2 && index !==3)

// 组件 数据扁平转成数据结构

// getTreeData(arr,parentid) {
// function loop(parentId) {
// return arr.reduce((sum,item)=>{
// if(item.parentId===parentId) {
// item.children=loop(item.id)
// sum.push(item)
// }
// return sum

// },[])
// }
// return loop(parentid)

// }


// const flatArr = [
// { id: '01', parentId: 0, name: '节点1' },
// { id: '011', parentId: '01', name: '节点1-1' },
// { id: '0111', parentId: '011', name: '节点1-1-1' },
// { id: '02', parentId: 0, name: '节点2' },
// { id: '022', parentId: '02', name: '节点2-2' },
// { id: '023', parentId: '02', name: '节点2-3' },
// { id: '0222', parentId: '022', name: '节点2-2-2' },
// { id: '03', parentId: 0, name: '节点3' },

// ]
// const result = this.getTreeData(flatArr,0)
// console.log('reslut',result)

 

// 防抖

const throme=fn (fn,time){
const flag=true
return function() {
if(!flag) return
flag=false
setTimeout(()=>{
fn.apply(this)
flag=true
},time)
}
}

// 节流
const throttle=(fn,time) {
let flag=true
return function() {
if(!flag) return
flag=false
setTimeout(()=>{
fn.apply(this)
flag=true
},time)
}
}
<!-- 深拷贝 -->
deepCloneList() {
// 1.先校验传进来的对象类型
const isComplexDataType=obj=>
(typeof obj ==='object'
|| typeof obj==='function') &&
// eslint-disable-next-line valid-typeof
(typeof obj !== null)

const deepClone=function(obj,hash = new WeakMap()) {
if(obj.constructor===Date) {
return new Date(obj)
}
if(obj.constructor===RegExp) {
return new RegExp(obj)
}
if(hash.has(obj)) {
return hash.get(obj)
}

let allDesc=Object.getOwnPropertyDescriptor(obj)
let cloneObj=Object.create(Object.getPrototypeOf(obj),allDesc)

hash.set(obj,cloneObj)

for(let key of Reflect.ownKeys(obj)) {
cloneObj[key] =(isComplexDataType(obj[key])
&& typeof obj[key] !=='function')?
deepClone(obj[key],hash) : obj[key]
}
return cloneObj
}
},



// 基础版深度拷贝

// deepClone(obj) {
// 第二遍
// let cloneobj={}

// for(let key in obj) {
// if(typeof obj[key]==='object') {
// cloneobj[key] = this.deepClone(obj[key]) // 进行递归操作
// } else {
// cloneobj[key] = obj[key]
// }
// }
// return cloneobj

// 第一遍
// let cloneObj={}
// for(let key in obj) {
// if(typeof obj[key] ==='object') {
// cloneObj[key] =this.deepClone(obj[key])
// } else {
// cloneObj[key]=obj[key]
// }
// }
// return cloneObj
// },

标签:arr,const,题目,res,笔试,return,item,经典,obj
From: https://www.cnblogs.com/nwy2012/p/18672422

相关文章

  • 2025年最新300个计算机专业毕业设计题目推荐资料获取
    计算机毕业设计案例Java毕业设计案例ASP.NET毕业设计案例PHP毕业设计案例微信小程序毕业设计案例基于Java的软件下载网站的建设基于c#的学生成绩系统–2024计算机毕业设计基于PHP的弘毅智学网基于微信小程序的西安财经大学体质测试管理系统基于Java的职业规划系统的设......
  • 常见的软件测试经典面试题
    作为一名软件测试人员,面试不仅是展示技术能力的机会,更是脱颖而出的关键环节。无论你是新手还是资深测试工程师,面试中总会遇到那些“经典题目”。今天,我们就来盘点常见的软件测试经典面试题,帮你提前备战,稳步拿下offer!软件测试面试中,哪些问题经常被问到?如何用专业又简洁的回......
  • 软件测试经典面试题
    ......
  • 一个算法题目的探索
    首先提出一个简单的问题,之后在此基础上一步步进行拓展,整体上从易到难,逐渐深入。问题一给定\(n\)个区间\([l_i,r_i]\),选出至多\(2\)个两两不重叠的区间\([start_i,end_i]\),每个区间由\([l_x,r_y]\)组成(\(y\gex\)),最大化\(\sum(end_i-start_i)\)分析将\(n\)个区间......
  • 【python游戏】最经典的五个小游戏(完整代码)
    文章目录前言案例1:猜数字游戏案例2:石头剪刀布游戏案例3:使用pygame的简单打砖块游戏案例4:井字棋(Tic-Tac-Toe)案例5:贪吃蛇游戏(使用pygame)前言当然,我可以为你提供五个简单的Python游戏案例。这些游戏涵盖了不同的难度和类型,从文本冒险到简单的图形界面游戏。......
  • 随机生成20以内加减法运算题目
    <?phpfunctiongenerateMathProblem(){//随机选择加法或减法$operation=rand(0,1)?'+':'-';//生成两个0到20之间的随机数$num1=rand(0,20);$num2=rand(0,20);//计算结果,注意处理减法可能导致负数的情况if($operation=......
  • 《零基础Go语言算法实战》【题目 2-18】获取结构体中字段的 tag 值
    《零基础Go语言算法实战》【题目2-18】获取结构体中字段的tag值在Go语言中,使用json包时,在结构体中的字段前会加上tag,有没有什么办法可以获取到这个tag的内容呢?举例说明。【解答】tag信息可以通过reflect包内的方法获取,下面通过一个例子来加深理解:packagema......
  • 一个超经典 WinForm,WPF 卡死问题的终极反思
    一:背景1.讲故事写这篇文章起源于训练营里一位朋友最近在微信聊到他对这个问题使用了一种非常切实可行,简单粗暴的方式,并且也成功解决了公司里几个这样的卡死dump,如今在公司已是灵魂级人物,让我也尝到了什么叫反哺!对,这个东西叫Harmony,github网址:https://github.com/pardeike/H......
  • [题目记录]P9999 [Ynoi2000] tmostnrq
    P9999[Ynoi2000]tmostnrq题意给定\(n\)个顶点的树,顶点编号为\(1,\dots,n\),给定长度\(n_0\)的序列\(a_1,\dots,a_{n_0}\),共\(m\)次查询,每次查询给定\(l,r,x\),问树的顶点\(x\),依次向\(a_l,\dots,a_r\)移动一步,到达的顶点。若\(x=y\),则从顶点\(x\)向\(y\)移动......
  • TLS B1班题目
    FirstElementofaQueueDescriptionYouaregivenaqueuethatcontainsaseriesofintegers.Yourtaskistoaccessthefirstelementofthequeueandprintit.给定一个包含一系列整数的队列,您的任务是访问队列中的第一个元素并打印它InputTheinputwill......