API에서 반환 된 일부 데이터를 정규화하려고합니다. 이미 프로젝트에서 밑줄을 사용하고 있습니다.개체 배열 및 키로 ID를
var normalisedRes = [{
1: {
badge_no: 123,
id: 1,
name: 'bob'
}
}, {
2: {
badge_no: 456,
id: 2,
name: 'bill'
}
}, {
3: {
badge_no: 789,
id: 3,
name: 'ben'
}
}];
내가 OBJ 내에서 ID를 유지하는 것이 중요하다
var res = [{
badge_no: 123,
id: 1,
name: 'bob'
}, {
badge_no: 456,
id: 2,
name: 'bill'
}, {
badge_no: 789,
id: 3,
name: 'ben'
},
// etc
];
나는과 같은 데이터 구조를 만들 찾고 있어요. 나는 이것을
reduce
와 함께 할 수 있다고 믿지만, 나는 고심하고있다.
도움 주셔서 감사합니다.
편집 :이 질문은 이제 답변되었습니다. 내가 원래 생각 나는 예상대로
{ '1': {data}, '2':{data}, '3':{data} }
, 나는 줄이고 사용이 작업을 수행하려면 : 여기에 조언의 일부에서
, 나는처럼 보이는 OBJ를 반환하는 데이터를 정상화하기로 결정했습니다var normalised = res.reduce((acc, person) => { acc[person.id] = person; return acc; }, {});
모든 답변을 제공해 주셔서 다시 한 번 감사드립니다. 당신은 또한 작업을 완수해야 reduce()
하지만 map()
을 사용할 수 원하는 경우
지금까지 시도한 코드를 공유 할 수 있습니까? – Rajesh
그래서 객체 배열을 원한다면, 각각의 객체는 하나의 키 ('id')를 포함하고 있습니까? 그게 당신이 시작한 것의 "더 나은"또는 정규화 된 버전입니까? 왜 그 구조를 원하니? –
최종 구조가 적합하지 않습니다. 왜 하나의 객체를 래핑하기 위해 배열이 필요합니까? – charlietfl