JS高频面试真题汇总(四)

JS高频面试真题汇总(四)


JS高频面试真题汇总(四)_第1张图片
JS高频面试真题汇总(四)_第2张图片
JS高频面试真题汇总(四)_第3张图片
concat可以将只有一层的数组拍平 多层的不行,需要用下面的方法

function flat(arr) {
    // 验证 arr 中,还有没有深层数组 [1, 2, [3, 4]]
    const isDeep = arr.some(item => item instanceof Array)
    if (!isDeep) {
        return arr // 已经是 flatern [1, 2, 3, 4]
    }

    const res = Array.prototype.concat.apply([], arr)
    return flat(res) // 递归
}

const res = flat( [1, 2, [3, 4, [10, 20, [100, 200]]], 5] )
console.log(res)

JS高频面试真题汇总(四)_第4张图片
JS高频面试真题汇总(四)_第5张图片
在这里插入图片描述
当对象中只有一级属性,没有二级属性的时候,此方法为深拷贝,但是对象中有对象的时候,此方法,在二级属性以后就是浅拷贝。


requestAnimationFrame ppt写错了
JS高频面试真题汇总(四)_第6张图片

你可能感兴趣的:(JS高频面试真题汇总(四))