成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

js基本操作-數(shù)組去重

GeekGhc / 1331人閱讀

摘要:基本操作數(shù)組去重?cái)?shù)組去重的方法臨時(shí)數(shù)組保存其實(shí)這里面還沒考慮到數(shù)組里面嵌套數(shù)組對(duì)象的情況把去重后的結(jié)果放在一個(gè)臨時(shí)數(shù)組中對(duì)原來數(shù)組的元素與臨時(shí)數(shù)組元素比較臨時(shí)數(shù)組中不存在這個(gè)元素的放入臨時(shí)數(shù)組。

js基本操作-數(shù)組去重 數(shù)組去重的方法 1. 臨時(shí)數(shù)組保存(其實(shí)這里面還沒考慮到數(shù)組里面嵌套數(shù)組/對(duì)象的情況)

把去重后的結(jié)果放在一個(gè)臨時(shí)數(shù)組中, 對(duì)原來數(shù)組的元素與臨時(shí)數(shù)組元素比較, 臨時(shí)數(shù)組中不存在這個(gè)元素的, 放入臨時(shí)數(shù)組。

function unique (arr) {
    if (!Array.isArray(arr)) return arr;
    var result = [];
    arr.map(function (item) {
        if (result.indexOf(item) == -1) {
            result.push(item);
        }
    })
    return result;
}
2. 利用對(duì)象去重(當(dāng)數(shù)組的鍵為 11, "11"時(shí), 會(huì)保留第一個(gè)出現(xiàn)的值)

創(chuàng)建一個(gè)新的數(shù)組存放結(jié)果, 和一個(gè)空的對(duì)象。for循環(huán)時(shí), 每次取出一個(gè)元素與對(duì)象進(jìn)行對(duì)比, 如果這個(gè)元素不重復(fù), 則把它存放到結(jié)果數(shù)組中, 同時(shí)把這個(gè)元素的內(nèi)容作為一個(gè)對(duì)象的屬性, 并賦值, 存入對(duì)象中。

function unique (arr) {
    if (!Array.isArray(arr)) return arr;
    var result = [];
    var obj = {}
    arr.map(function (item) { 
        if (!obj[item]) {
            result.push(item);
            obj[item] = 1
        };
    }) 
    return result;
}
3. 先排序, 后去重

先把數(shù)組排序, 然后比較相鄰的兩個(gè)值。排序的時(shí)候用原生的 sort 方法, JS引擎內(nèi)部使用的是快速排序。

function unique(arr) {
    if (!Array.isArray(arr)) return arr;
    if (arr.length < 2) return arr;
    arr.sort(); // sort在元數(shù)組進(jìn)行排序, 不生成副本
    var result = [arr[0]]
    arr.map(function (item, index, arr) {
        if (index > 0) {
            if (item !== arr[index - 1]) {
                result.push(item);
            }
        }
    })

    return result;
}
var arr = [99, 88, 22, 22, 44, 88, 99, "99"]
console.log(unique(arr));
4. 利用 ES6 的 Set 對(duì)象 和 Array.from 方法

Set對(duì)象: 它是ES6新增的有序列表集合, 不會(huì)包含重復(fù)項(xiàng)。

Array.from()方法: 將一個(gè)類數(shù)組或可遍歷對(duì)象轉(zhuǎn)換成真正的數(shù)組。

function unique (arr) {  
    if (!Array.isArray(arr)) return arr;
    if (arr.length < 2) return arr;
    return Array.from(new Set(arr))
}
var arr = [99, 88, 22, 22, 44, 88, 99, "99"]
console.log(unique(arr));
5.利用 filter 和 Map 對(duì)象
function unique(arr) {
    if (!Array.isArray(arr)) return arr;
    if (arr.length < 2) return arr;
    return arr.filter(function(item, index, arr) {
        if (arr.indexOf(item) === index) {
            return true;
        }
    });
}
var arr = [99, 88, 22, 22, 44, 88, 99, "99"]
console.log(unique(arr));

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/81872.html

相關(guān)文章

  • js基本操作-數(shù)組去重

    摘要:基本操作數(shù)組去重寫在前面數(shù)組去重經(jīng)常出現(xiàn)在前端招聘的筆試題里,比如有數(shù)組,請(qǐng)用實(shí)現(xiàn)去重函數(shù),使得返回作為筆試題,考點(diǎn)有二正確。基本介紹文章主要是對(duì)數(shù)組去重的常用方法進(jìn)行介紹。 js基本操作-數(shù)組去重 寫在前面 JavaScript 數(shù)組去重經(jīng)常出現(xiàn)在前端招聘的筆試題里,比如: 有數(shù)組 var arr = [a, b, c, 1, 0, c, 1, , 1, 0],請(qǐng)用 JavaScr...

    blastz 評(píng)論0 收藏0
  • JS數(shù)組去重方法小結(jié)

    摘要:數(shù)組去重看了網(wǎng)上很多數(shù)組去重方法,用的比較常見的大概就幾種,今天想自己來做一個(gè)總結(jié)。還有就是方法返回的數(shù)組也是排序后的數(shù)組,某些情況下可能不符合要求。 JS數(shù)組去重 看了網(wǎng)上很多數(shù)組去重方法,用的比較常見的大概就幾種,今天想自己來做一個(gè)總結(jié)。部分內(nèi)容參考該博客 1 . 在原數(shù)組上操作(基本方法) 思路:利用循環(huán)嵌套,判斷數(shù)組中每個(gè)元素與其后面的元素是否相等,如果相等,就使用spli...

    PascalXie 評(píng)論0 收藏0
  • js擴(kuò)展運(yùn)算符,神奇的3個(gè)點(diǎn)點(diǎn),數(shù)組去重、合并數(shù)組等等

    最近lz一周排了9個(gè)面試,面試經(jīng)常被問到一些數(shù)組的問題,比如說es6里面一些數(shù)組去重、合并數(shù)組,之前壓根就沒了解過,后來才知道考的都是es6的知識(shí),今天好好挖掘一下,發(fā)現(xiàn)一個(gè)神奇的點(diǎn)點(diǎn)三姐妹 我們來看看經(jīng)常使用的方法 1、數(shù)組去重 之前的想法可能要遍歷數(shù)組去重,但是現(xiàn)在又es6的騷操作 var a = [1,1,2,3] Array.from(new Set()) // 利用es6...

    waltr 評(píng)論0 收藏0
  • JavaScript 實(shí)現(xiàn)數(shù)組更多的高階函數(shù)

    摘要:實(shí)現(xiàn)數(shù)組更多的高階函數(shù)吾輩的博客原文場(chǎng)景雖說人人平等,但有些人更加平等。若是有一篇適合萌新閱讀的自己實(shí)現(xiàn)數(shù)組更多操作的文章,情況或許會(huì)發(fā)生一些變化。類似于的初始值,但它是一個(gè)函數(shù),避免初始值在所有分組中進(jìn)行累加。 JavaScript 實(shí)現(xiàn)數(shù)組更多的高階函數(shù) 吾輩的博客原文: https://blog.rxliuli.com/p/fc... 場(chǎng)景 雖說人人平等,但有些人更加平等。 為...

    aervon 評(píng)論0 收藏0
  • js數(shù)組去重

    數(shù)組去重的方式有很多種,現(xiàn)總結(jié)一些備以后查漏補(bǔ)缺來用。 對(duì)基本數(shù)組類型去重: (1)set 和 array.from()實(shí)現(xiàn) var str, strs = [a, b, c, er, d, er, a, b, c]; function removeRepeat(arr) { return Array.from(new Set(arr)) } console.log(remove...

    cartoon 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<