JavaScript에서 객체의 속성을 제거하려면 delete 키워드를 사용합니다. 배열에 포함된 모든 객체에서 동일한 속성을 한 번에 제거하려면 forEach() 메서드와 함께 delete 키워드를 활용하면 됩니다.
예제 코드
다음은 배열의 모든 객체에서 lastName 속성을 제거하는 예제입니다.
var values = [
{
"firstName": "John",
"lastName": "Smith"
},
{
"firstName": "David",
"lastName": "Miller"
},
{
"firstName": "Adam",
"lastName": "Smith"
}
];
values.forEach(function(obj){ delete obj.lastName });
console.log(values);프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 사용합니다.
node fileName.js
여기서는 파일 이름이 demo312.js라고 가정합니다.
실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
PS C:\Users\Amit\javascript-code> node demo312.js
[
{ firstName: 'John' },
{ firstName: 'David' },
{ firstName: 'Adam' }
]코드 설명
forEach() 메서드는 배열의 각 요소(객체)를 순회하며 콜백 함수를 실행합니다. 콜백 함수 내부에서 delete obj.lastName을 호출하면 각 객체에서 lastName 속성이 완전히 제거됩니다. 그 결과 firstName 속성만 남은 객체들이 출력되는 것을 확인할 수 있습니다.
참고로 delete 연산자는 해당 속성의 값을 undefined로 만드는 것이 아니라 객체에서 속성 자체를 완전히 삭제합니다. 따라서 Object.keys()로 확인해도 삭제된 속성은 나타나지 않습니다.