问题简述
给予一个多维数组和一个描述取值路径的一维数组, 通过调用函数f返回取值路径描述的值,如
f([[1, 2], [3, 4], [5, 6]], [0, 0]) -> 1
原问题传送门
之所以想记录一下是因为之前有在...按大学老师教的来一套:
先找递归退出的条件,当路径取到最后或者目标数组已经取尽(这里似乎题目没有说清楚,暂定不对取值路径做限定吧)
再找递归的模式, 如果不满足递归退出的条件,则将目标数组缩小一维,传递新的取值路径并递归...这么一想一下就和之前每次跑用例总是产生意想不到的结果的情况联系上了,随机用例的失败原因一定是因为测试路径会有很多个,但是测试目标数组只有一个,因此有副作用的话,只有第一次测试的结果是正确的,后面都会因副作用产生不同的结果...因为这里只是答题,所以使用一个最简单粗暴的深拷贝大法x => JSON.parse(JSON.stringify(x)),然后代码就有了第二版代码
function getElement(array,...indexes) {
array = JSON.parse(JSON.stringify(array))
indexes = JSON.parse(JSON.stringify(indexes