수정할 수없는 API에서받은 JavaScript 객체가 있습니다. 도구 내에서이 데이터를 사용하고 싶지만 도구는 개체의 루트 수준에 저장된 값만 허용합니다. 수준 아래로 키의 값에 액세스하는 데 점 표기법을 사용할 수 없습니다.JavaScript 객체의 부분 평탄화
아래 예제를 기반으로 shape.colour
에 액세스 할 수 있지만 대신 새 JSON 객체에서 shape__colour
과 같은 내용을 참조 할 수 있습니다.
예부터 객체 :
내가 같이 할 필요 무엇[{
"id" : 12345,
"size" : 40,
"shape": {
"colour" : 'yellow',
"dimension" : '2D'
}
},
{
"id" : 12346,
"size" : 50,
"shape": {
"colour" : 'blue',
"dimension" : '3D'
}
}]
: 객체가 내가 건너 한 기능을 평탄화
[{
"id" : 12345,
"size" : 40,
"shape__colour": 'yellow',
"shape__dimension" : '2D;'
}
},
{
"id" : 12346,
"size" : 50,
"shape__colour": 'blue',
"shape__dimension" : '3D'
}
}]
다른 예는 단일 레벨 배열을 생산하는 것 (객체를 모두 삭제하는 것), 개별 객체는 유지해야하지만 객체 내부의 데이터는 한 수준에 있어야합니다.
도움이 될 것입니다.
let result = arr.map(({id, size, shape}) => {
return {
id,
size,
shape_colour: shape.colour,
shape_dimension: shape.dimension
}
});
참고 :
SO는 무료 코드 작성 서비스가 아닙니다. 지금까지 뭐 해봤 어? –