Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 배열의 모든 객체에서 특정 속성을 제거하는 방법

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()로 확인해도 삭제된 속성은 나타나지 않습니다.