算法题(一)
已知如下数组: var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组
var arr = [[1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10];
`const newArray = arr.toString().split(","); //数组降维,number变成string`;
此处也可`const newArray = arr.flat(Infinity)//依旧是number`;
const noRepetitionArray = [...new Set(newArray)]; //数组去重
const orderArray = noRepetitionArray.sort((a, b) => {
return a - b; //升序
});
实现一个 slepp
function sleep(time) {
let timestamp = new Date().getTime();
while (new Date().getTime() - timestamp < time) {
continue;
}
}
(bilibili)编程算法题
用 JavaScript 写一个函数,输入 int 型,返回整数逆序后的字符串。如:输入整型 1234,返回字符串“4321”。要求必须使用递归函数调用,不能用全局变量,输入函数必须只有一个参数传入,必须返回字符串。
function reverseToString(intNumber) {
let str = intNumber.toString();
if (str.length == 1) {
return str;
}
return (
reverseToString(str.substr(1, str.length)) +
reverseToString(str.substr(0, 1))
);
}
`or 不适用递归`;
function reverseToString(intNumber) {
return intNumber
.toString()
.split("")
.reverse()
.join("");
}
已知数据格式,实现一个函数 fn 找出链条中所有的父级 id
const value = '112' const fn = (value) => { ... } fn(value) // 输出 [1, 11, 112]