实战系列-店小秘

453 阅读1分钟

店小秘

面试时间

2024-03-16 PM 1:45

背景介绍

深圳一家 C轮公司,主公司比较偏,做电商,公司内部像工厂,强制要周一 ~ 周四 9点上班,晚8:30下班,周五6点,。

薪资范围

15~35k x 13薪

面试流程:

一轮笔试 + 二轮面试(技术)

笔试

1.深拷贝

function deepCopy(obj) {
    if (obj === null || typeof obj !== 'object') {
        return obj;
    }
 
    if (obj instanceof Date) {
        return new Date(obj.getTime());
    }
 
    if (obj instanceof Array) {
        return obj.reduce((arr, item, i) => {
            arr[i] = deepCopy(item);
            return arr;
        }, []);
    }
 
    if (obj instanceof Object) {
        return Object.keys(obj).reduce((newObj, key) => {
            if (obj === obj[key]) return
            newObj[key] = deepCopy(obj[key]);
            return newObj;
        }, {});
    }
}
// console.log(deepCopy({a: 1}) => {a: 1}

2.扁平化二维数组

function flattenArray(arr) {
  const result = [];
  
  for (let i = 0; i < arr.length; i++) {
    if (Array.isArray(arr[i])) {
      // 如果元素是数组,则递归调用并添加结果
      result.push(...flattenArray(arr[i]));
    } else {
      // 如果元素不是数组,直接添加
      result.push(arr[i]);
    }
  }
  
  return result;
}
// console.log(flattenArray([1, [2, 3, [4, 5]]])) => [1,2,3,4,5]