js

面试准备(一)

面试准备(一)

Posted by OYH on July 18, 2019

算法题(一)

已知如下数组: 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]