중첩 객체가 있고 값이 null이거나 정의되지 않은 경우 모든 키/값 쌍을 제거하려고합니다. 나는 아래 코드가 작동하도록 관리했지만 중첩 된 키/값 쌍을 검사하지 않으며 코드에 추가해야 할 항목이 무엇인지 알아낼 수 있는지 궁금해했다.중첩 된 자바 스크립트 객체의 null 값을 삭제합니다.
var myObj = {
fName:'john',
lName:'doe',
dob:{
displayValue: null,
value: null
},
bbb:null
};
function clean(obj) {
for (var propName in obj) {
if (obj[propName] === null || obj[propName] === undefined || obj[propName] === '') {
delete obj[propName];
}
}
return obj;
}
console.log(clean(myObj));
위의 코드는 'BBB'와 그 값을 제거하는 작업을 수행하고 나뿐만 아니라 '생년월일'로 표현되는 중첩 된 개체에 대해 수행 동일합니다.
https://jsbin.com/mudirateso/edit?js,console,output
어떤 도움
이 크게 감사합니다.
당신이()'하위 개체에 대한'깨끗한 호출하는 재귀 함수를 작성해야합니다. – Barmar
StackOverflow는 [자신의 문제를 먼저 해결하려고합니다.] (http://meta.stackoverflow.com/questions/261592), [숙제에 대한 답변을 제공하지 않습니다] (https : //softwareengineering.meta. stackexchange.com/questions/6166). 질문을 업데이트하여 [최소, 완전하며 검증 가능한 예] (http://stackoverflow.com/help/mcve)에서 이미 시도한 것을 보여주십시오. 자세한 내용은 [좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask)을 참조하고 [사이트 둘러보기] (http://stackoverflow.com/tour)를 참조하십시오.) :) – Barmar