为Set数据结构创建元素时,带有“ .has”和不带有“ .has”的性能如何?

时间:2019-01-31 06:11:16

标签: javascript performance set

我有两个功能相同的功能,即只将唯一的元素插入到集合中。只是想知道,在没有插入节之前检查元素的性能有何不同?

function removeAllDup(n) {
    // Set (ES6) is a collection for unique values.
    let seen = new Set;

    n.forEach(item => seen.add(item));

    return seen;
}

function removeAllDup2(n) {
    // Set (ES6) is a collection for unique values.
    let seen = new Set;

    n.forEach(element => {
        // if element does not exist in the set, add the element.
        if (!seen.has(element)) {
            seen.add(element);
        }
    })

    return seen;
}

1 个答案:

答案 0 :(得分:1)

Set会自己检查新值,不需要'has'检查。