Я хочу сравнить ниже inputArr с arrObj1. В массиве ниже у меня есть questionId и optionId, по этим ключам я хочу найти и обновить значение в массиве arrObj1, и мне нужно нажать клавишу «isSelected: true» вarrObj1, массив имеет два типа, один из которых является вложенным, а другой - нормальным, в arrObj1 первый массив является вложенным, а второй будет нормальным, у меня BOLD isSelected ключ, т.е. там, где мне нужно нажать клавишу.
var inputArr = {
"questionInfo": [
{
"questionId": "400003",
"quesOptions": [
{
"optionId": "400004",
"status": 1
},
{
"optionId":"400032",
"status":1
}
]
},
{
"questionId": "300001",
"quesOptions": [
{
"optionId": "300014",
"status": 1
}
]
}
]
}
var arrObj1 = {
"questionOptions": [
{
"questionId": "300001",
"options": [
{
"optionId": "300037"
},
{
"optionId": "300014"
}
],
"isDisplayable": true
},
{
"questionId": "300004",
"options": [
{
"optionId": "400035",
"questionOptions": [
{
"questionId": "400005",
"options": [
{
"optionId": "400001",
"questionOptions": [
{
"questionId": "400003",
"options": [
{
"optionId": "400004",
"isDisplayable": true
},
{
"optionId": "400032"
},
{
"optionId": "400026"
},
{
"optionId": "400027",
}
]
}
]
}
],
"optionsHistory": [
{
"optionId": "400002"
}
]
}
]
}
]
},
{
"questionId": "300005",
"options": [
{
"optionId": "300026"
},
{
"optionId": "300034"
},
{
"optionId": "300006"
},
{
"optionId": "300017"
}
]
}
]
}
Ниже приведен мой ожидаемый результат
{
"questionOptions": [
{
"questionId": "300001",
"options": [
{
"optionId": "300037"
},
{
"optionId": "300014",
**"isSelected":true**
}
],
**"isSelected":true,**
"isDisplayable": true
},
{
"questionId": "300004",
**"isSelected":true,**
"options": [
{
"optionId": "400035",
**"isSelected":true,**
"questionOptions": [
{
"questionId": "400005",
**"isSelected":true,**
"options": [
{
"optionId": "400001",
**"isSelected":true,**
"questionOptions": [
{
"questionId": "400003",
**"isSelected":true,**
"options": [
{
"optionId": "400004",
**"isSelected":true,**
"isDisplayable": true
},
{
"optionId": "400032",
**"isSelected":true**
},
{
"optionId": "400026"
},
{
"optionId": "400027"
}
]
}
]
}
],
"optionsHistory": [
{
"optionId": "400002"
}
]
}
]
}
]
},
{
"questionId": "300005",
"options": [
{
"optionId": "300026"
},
{
"optionId": "300034"
},
{
"optionId": "300006"
},
{
"optionId": "300017"
}
]
}
]
}
Я попробовал следующее
for(var i =0;i<myObj.questionOptions.lenght;i++){
for(var j=0;j<myObj.questionOptions.options.lenght;j++){
if(arr[i].optionId === myObj.questionOptions.optionId){
myObj.questionOptions.options.isSelected = true;
}
else{
}
}
}
Кто-нибудь дает мне решение для этого.