js 중수 조 제거 방법 및 성능 대비

2288 단어
js 중수 조 의
배열 제거
자주 사용 하 는 배열 의 무 거 운 방법 과 효율 분석:
먼저 우 리 는 먼저 하나의 배열 을 구축 하 는데 주로 재 실험 을 하 는 데 사용 된다. 우리 의 주요 실험의 급 도 는 1000, 10000, 100000, 500000 이다.구체 적 으로 배열 을 만 드 는 방법 은 다음 과 같다.
function buildDataArr (size) {
    var array = [];
    for (var i =0; i< size; i++) {
        var num = Math.round(Math.random() * size);
        array.push(num);
    }
    return array;
}
var arr1 = buildDataArr(1000);
var arr2 = buildDataArr(10000);
var arr3 = buildDataArr(100000);
var arr4 = buildDataArr(500000);
  • filter 와 index 방법 으로 무 게 를 제거 합 니 다
    function distinct(numberArr) {
        return numberArr.filter((item, index)=> {
            return numberArr.indexOf(item) === index
        })
    }
  • 이중 순환 을 통 해 배열 의 무 게 를 제거
    function distinctFor(numberArr) {
        for (let i=0, len=numberArr.length; i
  • for... of 와 include 를 사용 하여 무 게 를 제거 합 니 다
    function distinctInclude(numberArr) {
        let result = []
        for (let i of numberArr) {
            !result.includes(i) && result.push(i)
        }
        return result
    }
  • sort 를 사용 하여 무 게 를 제거
    function distinctSort(numberArr) {
        numberArr = numberArr.sort()
        let result = [numberArr[0]]
    
        for (let i=1, len=numberArr.length; i
  • new Set 로 무게 제거
    function distinctSet(numberArr) {
        return Array.from(new Set(numberArr))
    }
  • 사용 대상 탈 중
    function distinctObj(numberArr) {
        let result = []
        let obj = {}
        for (var i of numberArr) {
            if (!obj[i]) {
                result.push(i)
                obj[i] = 1
            }
        }
        return result
    }
  • 자, 위의 방법 이 소개 되 었 습 니 다. 성능 을 살 펴 보 겠 습 니 다.
    1000
    10000
    100000
    500000
    distinctFilter
    0
    40
    3992
    105859
    distinctFor
    2
    59
    5873
    147234
    distinctInclude
    1
    24
    2320
    54794
    distinctSort
    1
    8
    69
    264
    distinctSet
    0
    1
    12
    78
    distinctObj
    1
    1
    9
    33

    좋은 웹페이지 즐겨찾기