跳至主要內容

js基础

Mr.Cao...大约 1 分钟jsjs

面试题

1. 填写输入顺序

console.log('1');
async function async1() {
    console.log('2');
    await async2();
    console.log('3');
}
async function async2() {
    console.log('4');
}
 
setTimeout(function() {
    console.log('6');
    new Promise(function(resolve) {
        console.log('8');
        resolve();
    }).then(function() {
        console.log('9')
    })
})
 
async1();
 
new Promise(function(resolve) {
    console.log('10');
    resolve();
}).then(function() {
    console.log('11');
});
console.log('12')
// 这里填写顺序

2、用解构赋值语法定义data变量,读取data数据,无值默认为空数组

const response = {
    code: 0,
    message: {
        data: [{
            age: 24
        }]
    }
}
// 这里填写代码


console.log(data) // [{ age: 24 }]

3. 不借助临时变量,进行两个整数的交换

let a = 2;
let b = 3;
// 这里填写代码


console.log(a, b)   // 3 2

4、数组怎么得到交集?

const a = [1, 2, 3];
const b = [3, 4, 5];
const arrIntersection = (a, b) => {
    // 这里填写代码

    
}

console.log(arrIntersection(a, b)) // [3]

5、js 统计一个字符串出现频率最高的字母/数字

const str = 'asdfghjklaqwertyuiopiaia';
const strChar = str => {
	// 下面填写代码
}

console.log(strChar(str))    // a

6. 去除id重复项目,保留后出现的id项

const arr = [{id: 1, name: 1}, {id: 2, name: 2}, {id: 3, name: 3}, {id: 1, name: 4}, {id: 5, name: 5}];
const distinct = arr => {
    // 这里填写代码
	
    
    
    
    
    
    
  
}

console.log(distinct(arr))  // [{id: 2, name: 2}, {id: 3, name: 3}, {id: 1, name: 4}, {id: 5, name: 5}]

7. 有 64 个格子,第一个格子放一粒麦子,第二个放2粒,第三个放4粒...每个格子都是前边的两倍。一共有多少粒?

// 这里填写代码










8.驼峰转换,例如:the-first-name_SECOND_NAME 变成theFirstNameSecondName

const str = "the-first-name_SECOND_NAME"
const toCamel = (str) => {
    // 这里填写代码
    
    
    
    
    
    
    
    
    
    
    
   
}

console.log(toCamel(str)) // theFirstNameSecondName
上次编辑于:
贡献者: CaoFangshuai
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8