API Vue.js
에서 데이터를 express.js
사용하고 테이블에 응답 배열을 표시 하는 웹 앱이 있습니다. 배열의 각 객체에는로 구성된 고유 ID가 있습니다 Name_Version
(예 P.90.001000-0004_2
:). 문제는 각각의 마지막 버전 만 표시하면된다는 것입니다. 예를 들어 API 응답이 다음과 같은 경우 :
[{id: P.90.001000-0004_1}, {id: P.90.001000-0004_2}, {id: P.90.001000-0004_3}, {id: P.90.002222-0025_1}, {id: P.90.002222-0025_2}]
테이블에 표시 할 결과 배열은 다음과 같습니다.
[{id: P.90.001000-0004_3}, {id: P.90.002222-0025_2}]
이 결과를 얻는 것이 불가능했습니다. 누구나 도와 주시겠습니까?
버전이없는 ID 부분을 전체 개체에 매핑하는 개체를 빌드 할 수 있으며이 맵에는 각 항목의 최신 버전 만 유지할 수 있습니다.
const data = [{id: 'P.90.001000-0004_1'}, {id: 'P.90.001000-0004_2'}, {id: 'P.90.001000-0004_3'}, {id: 'P.90.002222-0025_1'}, {id: 'P.90.002222-0025_2'}];
const map = {};
data.forEach((item) => {
const [id, version] = item.id.split('_');
const latestItem = map[id];
if (!latestItem || latestItem.id.split('_')[1] < version) {
map[id] = item;
}
});
const filteredData = Object.values(map);
console.log(filteredData);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다