[null, {
"display_with": "7",
"id": "1",
"image": "/images/salt_sugar.png",
"name": "Salt and Sugar",
"subcategories": {
"1": true,
"6": true,
"7": true
}
}, {
"display_with": "6",
"id": "2",
"image": "/images/tea_and_coffee.png",
"name": "Tea and Coffee",
"subcategories": {
"8": true,
"9": true,
"124": true
}
}]
위의 문자열에서 두 번째 및 세 번째 레코드에서 각각 1, 6, 7 및 8, 9, 124를 원합니다.
이것이 제 논리입니다.
recvCategories = JSON STRING
for (var j=0; j<recvCategories.length; ++j){
var category = recvCategories[j];
if (category != undefined){
var subcategories = [];
int size = Object.keys(category.subcategories).length;
for (var property in object) {
if (object.hasOwnProperty(property)) {
// do stuff
}
}
}
}
// do stuff에서 1, 6, 7 및 8, 9, 124를 인쇄하는 방법 ??
데이터의 이름 data
이 지정되었다고 가정하면 이 작업을 수행해야합니다.
var keys = [];
data.forEach(d => {
if (d.subcategories)
for (var key in d.subcategories)
keys.push(key);
})
그러나 for(var x in y)
will 을 사용 하면 실제로 개체의 속성을 반복하고 propertyNames를 반환하면 간단 해 보일 수 있습니다.
따라서 예제 .forEach()
에서 배열 의 메서드를 호출 한 다음 하위 범주의 각 키를 push
새 배열로 반복합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다