脚本宝典收集整理的这篇文章主要介绍了JS笔试题之每日练习09-18,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
// 第一题:使用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'))
以上是脚本宝典为你收集整理的JS笔试题之每日练习09-18全部内容,希望文章能够帮你解决JS笔试题之每日练习09-18所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。