js基础
...大约 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
Powered by Waline v2.15.8