배열에서 중복된 숫자 또는 객체 제거

1850 단어 duplicatesjavascript
숫자const array = [1,1,2,3,3,4,5,6]반복 항목을 삭제하려면(Set은 고유 값만 수락하므로)array = [...new Set(array)]또는array = array.filter((i, index) => array.indexOf(i) === index)또는
array = array.reduce((accum, item) => {return accum.includes(item) ? accum : [...accum, item]}, [])
객체
e, g: 만약 당신이 대상 그룹을 가지고 있다면, 예를 들면:
(5) [{…}, {…}, {…}, {…}, {…}]
0: {geometry: ol.g…m.Polygon, id: 17105, district_id: 20, map_type_id: 117, address: "Site at The Cranhams, Cranhams Lane, Cirencester", …}
1: {geometry: ol.g…m.Polygon, id: 17323, district_id: 20, map_type_id: 127, address: "Chesterton Farm, Tetbury Road Cirencester", …}
2: {geometry: ol.g…m.Polygon, id: 43065, district_id: 20, map_type_id: 116, address: "Land at Chesterton Farm", …}
3: {geometry: ol.g…m.Polygon, id: 49216, district_id: 20, map_type_id: 122, address: "South of Chesterton, Cirencester", …}
4: {geometry: ol.g…m.Polygon, id: 104198, district_id: 20, map_type_id: 127, address: "57 London Road", …}
5: {geometry: ol.g…m.Polygon, id: 104198, district_id: 20, map_type_id: 127, address: "57 London Road", …}
length: 6
__proto__: Array(0)

중복된 57개의 런던로 대상을 삭제하려면 대상 수조는 다음과 같다.planSitesWithinSite:

        let siteIds = this.planSitesWithinSite.map((site) => site.id)
        siteIds = [...new Set(siteIds)] //Removes duplicate ids
        this.planSitesWithinSite = siteIds.map((siteId) => {
            return this.planSitesWithinSite.find((site) => site.id === siteId)
        })
        lsDebug({lsModule: this, message: "Planning sites within this site after removal of duplicate sites", data: this.planSitesWithinSite});

좋은 웹페이지 즐겨찾기