💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 实战 > ES6常见高频面试题 ### 1.实现两个变量的值的交换 ~~~ let a = 1; let b = 2; [a,b] = [b,a]; ~~~ ### 2.js数据类型 ~~~ Undefined、Null、Boolean、Number、String、Array、Object、Symbol ~~~ ### 3.用两种方法实现数组去重函数 > function distinct(){} 入参[11,1,2,2,3] 出参为 [11,1,2,3] ### 4.实现一个函数 > Promise.sequence(a,b,c).then((result) => {}) 要求sequence里的a执行完异步后执行b,b异步执行完后执行c。result为a,b,c三个异步返回的结果的数组 ~~~ Promise.sequence = function (...promiseList) { let p = Promise.resolve() let result = [] promiseList.forEach((item) => { p = p.then(() => { return item().then((x) => { if(x) { result.push(x) return result } }) }) }) return p } // 异步函数a var a = function () { return new Promise((resolve, reject) =>{ setTimeout(() => { console.log('a') resolve('a') }, 1000) }) } // 异步函数b var b = function () { return new Promise((resolve, reject) => { console.log('b') resolve('b') }) } // 异步函数c var c = function () { return new Promise((resolve, reject) => { setTimeout(() => { console.log('c') resolve('c') }, 500) }) } Promise.sequence(a, b, c).then((s) => { console.log(s) }, (err) => { console.log(err) }) ~~~