// 第一題:使用promise,實作一個延遲函式delay
// 本題可以使用瀏覽器開發者工具進行除錯,請務必除錯通過,不能有語法錯誤
const delay = (time) => {
//你的代碼
return new Promise((resolve) => {
setTimeout(resolve, time);
})
};
const main = async() => {
await delay(2000)
console.log("Hello world") // 最早 2 秒之后才執行
};
main();
//--------------------------------------------
// 第二題:將陣列扁平化并去除其中重復資料,最終得到一個升序且不重復的陣列
// 本題可以使用瀏覽器開發者工具進行除錯,請務必除錯通過,不能有語法錯誤
const arr = [
[1, 2, 2],
[3, 4, 5, 5],
[6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10
];
function flatArr(arr) {
// TODO: 你的代碼
const bphArr = arr.flat(Infinity);
//console.log(new Set(bphArr));
const newArr = [...new Set(bphArr)];
newArr.sort((a, b) => {
return a - b
});
// console.log(newArr);
return newArr;
};
console.log(flatArr(arr));
//------------------------------------------------------
// 第三題
// 說明:實作一個方法,用于比較兩個版本號(version1、version2)
// 如果version1 > version2,回傳1;如果version1 < version2,回傳-1,其他情況回傳0
// 版本號規則`x.y.z`,xyz均為大于等于0的整數,至少有x位
// 示例:
// compareVersion('0.1', '1.1.1'); // 回傳-1
// compareVersion('13.37', '1.2 '); // 回傳1
// compareVersion('1.1', '1.1.0'); // 回傳0
// 本題可以使用瀏覽器開發者工具進行除錯,請務必除錯通過,不能有語法錯誤
function compareVersion(version1, version2) {
// TODO: 你的代碼
const v1 = version1.split(".");
const v2 = version2.split(".");
function factory(arr) {
let arrsum = 0;
arr.forEach((item) => {
if (arr.length < 3) {
arr.push("00")
}
if (item.length < 2) {
item += "0"
}
arrsum += +item
})
return arrsum
};
const v1sum = factory(v1);
const v2sum = factory(v2);
if (v1sum < v2sum) {
return -1
} else if (v1sum === v2sum) {
return 0
} else {
return 1
}
};
console.log(compareVersion('1.1', '1.1.0'))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/301533.html
標籤:其他
上一篇:前端代碼規范網址導航(總結)
