[面试题] 通过原型/继承相关知识区分特殊数组?
今天小伙伴遇到这样的一个十分有槽点的面试题,想了解看看大家有什么解答思路吗?
示例代码
const a = [1, 2];
const b = [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]
const index = Math.floor(Math.random() * 4) + 1;
b.splice(index, 0, a);
问题
- 如何在
b
中找到a
? - 如果
b
经过深拷贝后又如何找到a
?
要求
a
和 b
的结构不能发生改变。
提示
- 通过原型/继承相关知识区分特殊数组。
index
不可知。
虽然我知道这种题十分有槽点,但还是请大家请勿吐槽 /dog。
回复
1个回答

test
2024-07-20
- indexOf 或者遍历项使用 == 或者 === 也都可以找到
- 这个要看深拷贝的实现方式。 如果 a 和 b 原子项不是数组了,而是 Symbol 或者 function,深拷贝的实现方式也会影响到「能不能找到」以及「如何找到」
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容