我在 JS 中有一個帶有嵌套物件的物件,并且有一個具有相同名稱的陣列的物件,并且可以使用不同的值多次彈出。我只想將每個陣列的長度相加,直到該物件丟失為止。
例如:
0 : {id: 1, importantObject: {id: 1, {importantObject: {id: 1, importantObject:{...},}, somethingElse: 23}, something: 'test'}
1 : {id: 2, importantObject: {id: 24, {importantObject: {id: 55, importantObject:{...},}, somethingElse: 92}, something: 'test'}
等等..
我嘗試執行以下操作:
const getCount = (a) => {
let count = 0;
a.map((b) => {
if (b.importantObject) {
count = b.importantObject.length;
getCount(b.importantObject)
}
});
return count;
}
但是,我沒有得到正確的計數。我究竟做錯了什么?
uj5u.com熱心網友回復:
進行遞回時,您必須使用遞回呼叫回傳值
const getCount = (a) => {
let count = 0;
for (let b of a) {
if (b.importantObject) {
count = b.importantObject.length;
count = getCount(b.importantObject); // here
}
}
return count;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445756.html
標籤:javascript 数组 递归
上一篇:如何在js中選擇具有相同類名的按鈕的單擊按鈕表單串列?
下一篇:FullCalendar雙周活動
