반응형
JSON 개체에서 요소 제거
다음과 같은 json 배열이 있습니다.
{
"id": 1,
"children": [
{
"id": 2,
"children": {
"id": 3,
"children": {
"id": 4,
"children": ""
}
}
},
{
"id": 2,
"children": {
"id": 3,
"children": {
"id": 4,
"children": ""
}
}
},
{
"id": 2,
"children": {
"id": 3,
"children": {
"id": 4,
"children": ""
}
}
},
{
"id": 2,
"children": {
"id": 3,
"children": {
"id": 4,
"children": ""
}
}
},
{
"id": 2,
"children": {
"id": 3,
"children": {
"id": 4,
"children": ""
}
}
},
{
"id": 2,
"children": {
"id": 3,
"children": {
"id": 4,
"children": ""
}
}
},
{
"id": 2,
"children": {
"id": 3,
"children": {
"id": 4,
"children": ""
}
}
}]
}
'자녀'가 비어 있는 요소를 제거하는 기능을 원합니다.어떻게 해야 하죠?나는 답을 구하는 것이 아니라 단지 제안할 뿐이다.
오브젝트의 키를 반복하려면for .. in루프:
for (var key in json_obj) {
if (json_obj.hasOwnProperty(key)) {
// do something with `key'
}
}
모든 요소를 빈 자식에 대해 테스트하려면 모든 요소를 반복하고 해당 자식에 대해서도 반복적으로 테스트하는 재귀적 접근 방식을 사용할 수 있습니다.
오브젝트의 속성을 삭제하려면delete키워드:
var someObj = {
"one": 123,
"two": 345
};
var key = "one";
delete someObj[key];
console.log(someObj); // prints { "two": 345 }
문서:
- https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects
- https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/for...in
- https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/delete
function deleteEmpty(obj){
for(var k in obj)
if(k == "children"){
if(obj[k]){
deleteEmpty(obj[k]);
}else{
delete obj.children;
}
}
}
for(var i=0; i< a.children.length; i++){
deleteEmpty(a.children[i])
}
언급URL : https://stackoverflow.com/questions/15451290/remove-element-from-json-object
반응형
'programing' 카테고리의 다른 글
| TypeScript를 사용하여 VS 코드에서 모듈 "fs"를 찾는 방법 (0) | 2023.03.13 |
|---|---|
| 새 Wordpress 데이터베이스 테이블 작성 시도 중 (0) | 2023.03.13 |
| 웹 팩의 css로 인해 Mocha 테스트에 실패했습니다. (0) | 2023.03.13 |
| 함수를 json으로 전달하고 실행 (0) | 2023.03.13 |
| AngularJS에서 지시문을 작성할 때 새 스코프, 새 하위 스코프 또는 새 격리 스코프가 필요하지 않은지 어떻게 결정합니까? (0) | 2023.03.13 |