国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Javascript 更新 JavaScript 數(shù)組的 uniq 方法

2024-05-06 14:18:30
字體:
供稿:網(wǎng)友
上次寫的一篇《JavaScript 數(shù)組的 uniq 方法》,發(fā)現(xiàn)代碼的問題還是存在。比如如果數(shù)組內(nèi)有 undefined 元素就無法過濾等。

昨天看見 Lazy 兄弟重新更新了函數(shù),現(xiàn)在他是這樣子寫的:

Array.prototype.uniq = function() {
    var resultArr = [],
        returnArr = [],
        origLen = this.length,
        resultLen;

    function include(arr, value) {
        for (var i = 0, n = arr.length; i < n; ++i){
            if (arr[i] === value) {
                return true;
            }
        }

        return false;
    }

    resultArr.push(this[0]);
    for (var i = 1; i < origLen; ++i) {
        if (include(resultArr, this[i])) {
            returnArr.push(this[i]);
        } else {
            resultArr.push(this[i]);
        }
    }

    resultLen = resultArr.length;
    this.length = resultLen;
    for (var i = 0; i < resultLen; ++i){
        this[i] = resultArr[i];
    }

    return returnArr;
}按照他的說法:“這種解法在整個過程對原有數(shù)組的改變只有兩次,效率比其他兩種高了2個數(shù)量級左右!”,我實測了下此函數(shù)的效率,的確如此(測試連接點這里)。

我也重新編寫和更新了我的函數(shù),現(xiàn)在看起來是這個樣子的:

Array.prototype.uniq = function() {
    var tmp    = new Array;
    var length = this.length;

    for(var i = 0; i < length; i++) {
        var push = true;
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 七台河市| 尉氏县| 内江市| 祁阳县| 平舆县| 石林| 新蔡县| 无极县| 垦利县| 焦作市| 绍兴市| 铜梁县| 钦州市| 肇州县| 广德县| 岫岩| 永州市| 根河市| 噶尔县| 林州市| 庆元县| 永胜县| 晋州市| 吉安县| 元谋县| 崇信县| 泗洪县| 阿拉善右旗| 青田县| 大石桥市| 当雄县| 宽甸| 谢通门县| 济阳县| 太仓市| 息烽县| 深水埗区| 沙坪坝区| 葵青区| 葵青区| 蒲城县|