我可以在递归函数中推送索引吗?
can i push the index in recursive function?
我的递归数组,我应该找到最后一个元素和索引
let array = [1, [2, "kkkk", [9, "some", ["six", "seven", 6666, [8, "10", [10,["you find me"]]]]]]];
function findIndex(arr) {
for (let [index, element] of arr.entries()){
let array = [];
if(typeof element === "object"){
findIndex(element);
array.push(index);
console.log(array);
}
}
}
findIndex(array)
我添加这一行
let array = []
在控制台中我应该只有这样的索引 [1,2,2,3,2],但现在我在不同的数组中有索引 [1][2].....
必须是递归函数
我可以用这个例子来做吗?
let array = [1, [2, "kkkk", [9, "some", ["six", "seven", 6666, [8, "10", [10, ["you find me"]]]]]]];
const getIndexArray = (array) => {
const recursiveFnc = (array, acc = []) => {
// Get index of the last element in a current array
const lastIndex = array.length - 1;
// Get the last element in a current array
const lastElement = array[lastIndex];
// Push index of last element
acc.push(lastIndex);
// If last element is an array go in that array recursively, if not return the last element
return Array.isArray(lastElement) ? recursiveFnc(lastElement, acc) : acc;
};
return recursiveFnc(array);
};
const result = getIndexArray(array);
我的递归数组,我应该找到最后一个元素和索引
let array = [1, [2, "kkkk", [9, "some", ["six", "seven", 6666, [8, "10", [10,["you find me"]]]]]]];
function findIndex(arr) {
for (let [index, element] of arr.entries()){
let array = [];
if(typeof element === "object"){
findIndex(element);
array.push(index);
console.log(array);
}
}
}
findIndex(array)
我添加这一行
let array = []
在控制台中我应该只有这样的索引 [1,2,2,3,2],但现在我在不同的数组中有索引 [1][2].....
必须是递归函数
我可以用这个例子来做吗?
let array = [1, [2, "kkkk", [9, "some", ["six", "seven", 6666, [8, "10", [10, ["you find me"]]]]]]];
const getIndexArray = (array) => {
const recursiveFnc = (array, acc = []) => {
// Get index of the last element in a current array
const lastIndex = array.length - 1;
// Get the last element in a current array
const lastElement = array[lastIndex];
// Push index of last element
acc.push(lastIndex);
// If last element is an array go in that array recursively, if not return the last element
return Array.isArray(lastElement) ? recursiveFnc(lastElement, acc) : acc;
};
return recursiveFnc(array);
};
const result = getIndexArray(array);