Извините, если вас трудно понять.
У меня есть объект, и я хочу найти subSiteId, где значение равно 11909, и я также хочу получить результат со значением индекса объекта родителя.
Пример 1: в моем случае мой subSiteId == 11909 находится внутри индекса свойства элементов, равного 1, поэтому мой результат должен быть таким: 1_0
Пример 2: в моем случае мой subSiteId == 11999 позиций в индексе свойств элементов, равный 3, поэтому мой результат должен быть примерно таким: 3_1
let obj =[
{
"subSiteName": "7391 - Belt Line",
"subSiteId": 1132,
"SiteId": 1132,
"items": [
{
"subSiteId": 11906,
"parentId": 0,
"subSiteName": "Sub Sites 1",
"hasChildren": true,
"items": []
},
{
"subSiteId": 11908,
"parentId": 0,
"subSiteName": "Sub Sites 2",
"hasChildren": true,
"items": [
{
"subSiteId": 11909,
"parentId": 11908,
"subSiteName": "Sub Sites 3",
"hasChildren": false
}
],
"isVisited": true
},
{
"subSiteId": 11910,
"parentId": 0,
"subSiteName": "Sub Sites 4",
"hasChildren": true,
"items": []
},
{
"subSiteId": 11914,
"parentId": 0,
"subSiteName": "Building",
"hasChildren": false,
"items": [
{
"subSiteId": 11200,
"parentId": 11908,
"subSiteName": "Sub Sites 14",
"hasChildren": false
},
{
"subSiteId": 11999,
"parentId": 11908,
"subSiteName": "Sub Sites 14",
"hasChildren": false
}
]
}
]
}
]
Я пытался с кодом:
subSiteActive(obj, id){
let itemIndex:string = '0';
if(obj.items){
//while(result > 0){
for(let i = 0; i < obj.items.length; i++){
if(obj.items[i].subSiteId === id){
console.log(obj.items, i)
itemIndex+= '_'+i;
this.result = true;
break;
}else{
if(!this.result){
this.subSiteActive(obj.items[i], id)
}
}
}
return itemIndex;
//}
}
}
this.subSiteActive(obj, 11909)