객체 배열에 속성 추가
아래와 같은 개체 배열이 있습니다.
Object {Results:Array[2]}
Results:Array[2]
[0-1]
0:Object
id=1
name: "Rick"
1:Object
id=2
name:'david'
이 개체 배열의 각 요소에 활성이라는 속성을 하나 더 추가합니다.
최종 결과는 다음과 같습니다.
Object {Results:Array[2]}
Results:Array[2]
[0-1]
0:Object
id=1
name: "Rick"
Active: "false"
1:Object
id=2
name:'david'
Active: "false"
이것을 달성하는 방법을 누가 알려주실 수 있나요?
사용하다Array.prototype.map()
Results.map(obj => ({ ...obj, Active: 'false' }))
메소드를 사용하여 배열의 각 요소에 대해 제공된 함수를 한 번 실행할 수 있습니다.이 제공된 기능에서 다음을 추가할 수 있습니다.Active
요소의 속성입니다.
Results.forEach(function (element) {
element.Active = "false";
});
ES6를 사용하면 다음과 같은 작업을 간편하게 수행할 수 있습니다.
for(const element of Results) {
element.Active = "false";
}
저도 이 문제에 부딪혔고, 이 문제를 해결하기 위해 제 앱을 실행하던 크롬 탭을 계속 다운시켰습니다.물체의 확산 연산자가 범인인 것 같습니다.
위의 adrianolsk의 코멘트와 sidondon의 답변에서 약간의 도움을 받아 Object.assign()을 사용하여 바벨에서 스프레드 연산자의 출력을 다음과 같이 할당했습니다.
this.options.map(option => {
// New properties to be added
const newPropsObj = {
newkey1:value1,
newkey2:value2
};
// Assign new properties and return
return Object.assign(option, newPropsObj);
});
맵 또는 각 맵을 사용하여 이 작업을 참조하십시오.각각 답변이 많아서 지도로 어떻게 하는지 알려드리겠습니다.
let new_array=array.map(function(ele){
return {...ele,Active:'false'};
})
새 배열을 사용하지 않고 변경하려는 경우 각 배열에 사용할 수 있습니다.하지만 당신이 나처럼 고집이 세니까 지도로 변형시키고 싶다면, 당신은 그것을 다음과 같이 할 수 있습니다.
array.map(function(ele){
return ele.Active='false';
});
Object.defineProperty(Results, "Active", {value : 'true',
writable : true,
enumerable : true,
configurable : true});
키-값 구조로 객체를 통과합니다.그런 다음 'Active'라는 새 속성과 이 속성의 샘플 값('Active')을 이 개체 내의 모든 개체에 추가합니다.이 코드는 객체의 배열과 객체의 객체 모두에 적용될 수 있습니다.
Object.keys(Results).forEach(function (key){
Object.defineProperty(Results[key], "Active", { value: "the appropriate value"});
});
언급URL : https://stackoverflow.com/questions/38922998/add-property-to-an-array-of-objects
'programing' 카테고리의 다른 글
여러 Git 커밋을 되돌리려면 어떻게 해야 합니까? (0) | 2023.05.27 |
---|---|
WPF 응용 프로그램에서 FolderBrowserDialog 사용 (0) | 2023.05.27 |
Swift에서 저장된 속성 재정의 (0) | 2023.05.27 |
엔티티 프레임워크를 사용하여 기본 키 값 업데이트 (0) | 2023.05.27 |
postgresql 삽입 쿼리에 현재 날짜 시간을 삽입하는 방법 (0) | 2023.05.27 |