国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js數(shù)組去重

cartoon / 636人閱讀

數(shù)組去重的方式有很多種,現(xiàn)總結(jié)一些備以后查漏補缺來用。

對基本數(shù)組類型去重:

(1)set 和 array.from()實現(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(removeRepeat(strs)) //["a", "b", "c", "er", "d"]

(2) indexOf和forEach()

var str=[],
    strs = ["a", "b", "c", "er", "d", "er", "a", "b", "c"];

function removeRepeat() {
  strs.forEach(v=>{
    if(str.indexOf(v) < 0) str.push(v)
  })
  console.log(str) //["a", "b", "c", "er", "d"]
}

(3)map 和 filter

var str=[],
    strs = ["a", "b", "c", "er", "d", "er", "a", "b", "c"];
function removeRepeat(arr) {
  const unique = new Map()
  return arr.filter(v=>{
    return !unique.has(v) && unique.set(v,1)
  })
}
 console.log(removeRepeat(strs)) //["a", "b", "c", "er", "d"]
延伸1:需要對數(shù)組排序去重
var str=[],
    strs = ["a", "b", "c", "er", "d", "er", "a", "b", "c"];

function removeRepeat(arr) {
 let arry = arr.sort()
 return arr.sort().filter((v,index) => {
   return !index || v !== arry[index-1]
 })
}
console.log(removeRepeat(strs))//  ["a", "b", "c", "d", "er"]
延伸2:某一個元素只出現(xiàn)一次

(1)利用filter,indexof,lastIndexOf對基本類型數(shù)組去重復(fù)元素

var str,
    strs = ["a", "b", "c", "er", "d", "er", "a", "b", "c"];

function removeRepeat() {
    str = strs.filter(function (value, index, array) {
        return array.indexOf(value) === array.lastIndexOf(value);
    })
    console.log(str) //["d"]
}

(2)利用lastIndexOf,splice對基本類型數(shù)組去重復(fù)元素

var str,
    strs = ["a", "b", "c", "er", "d", "er", "a", "b", "c"];

function removeRepeat() {
    for (var i = 0; i < strs.length; i++) {
        if (i !== strs.lastIndexOf(strs[i])) strs.splice(i, 1);
    }
    console.log(str) //["d"]
}

(1)和(2)的方法大同小異,原理是一樣

延伸3:對數(shù)組對象進行去重
var Messages = [
    {
        "timestamp": 1474328370007,
        "message": "hello"
    },
    {
        "timestamp": 1474328302520,
        "message": "how are you"
    },
    {
        "timestamp": 1474328370007,
        "message": "hello"
    },
    {
        "timestamp": 1474328370007,
        "message": "hello"
    }
]

var NoRepeatMessages = [];

function RemoveRepeat(arr) {
    var hashFlag = {}
    arr.forEach((v,index) => {
        if (!hashFlag[v.timestamp]) {
            hashFlag[v.timestamp] = true;
            NoRepeatMessages.push(v);
        }
    });
  console.log(NoRepeatMessages) //[{"timestamp": 1474328370007,"message": "hello"},{ "timestamp": 1474328302520,"message": "how are you"}]
}
RemoveRepeat(Messages)

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

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/94851.html

相關(guān)文章

  • JS數(shù)組去重總結(jié)

    摘要:數(shù)組去重,一般會在面試的時候才會碰到,要求手寫數(shù)組去重方法的代碼。在實際項目中碰到的數(shù)組去重,一般都是后臺去處理,很少讓前端處理數(shù)組去重。數(shù)組去重的方法一利用去重中最常用如果不考慮兼容性,這種去重的方法代碼最少。 數(shù)組去重,一般會在面試的時候才會碰到,要求手寫數(shù)組去重方法的代碼。如果是被提問到,數(shù)組去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。 在實際項目中碰到的...

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

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

    PascalXie 評論0 收藏0
  • js基本操作-數(shù)組去重

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

    blastz 評論0 收藏0
  • js基本操作-數(shù)組去重

    摘要:基本操作數(shù)組去重數(shù)組去重的方法臨時數(shù)組保存其實這里面還沒考慮到數(shù)組里面嵌套數(shù)組對象的情況把去重后的結(jié)果放在一個臨時數(shù)組中對原來數(shù)組的元素與臨時數(shù)組元素比較臨時數(shù)組中不存在這個元素的放入臨時數(shù)組。 js基本操作-數(shù)組去重 數(shù)組去重的方法 1. 臨時數(shù)組保存(其實這里面還沒考慮到數(shù)組里面嵌套數(shù)組/對象的情況) 把去重后的結(jié)果放在一個臨時數(shù)組中, 對原來數(shù)組的元素與臨時數(shù)組元素比較, 臨時...

    GeekGhc 評論0 收藏0
  • js數(shù)組去重方法總結(jié)

    摘要:注方法可以返回某個指定字符串在字符串中首次出現(xiàn)的位置比如首次出現(xiàn)的位置是數(shù)組中的第一個,即下標為遍歷數(shù)組使用標識符去重聲明一個變量標識排序后遍歷過濾數(shù)組思路先給數(shù)組排序,這樣相同的項總是相鄰。 假設(shè)我們有數(shù)組arr,并且聲明新數(shù)組hash用來存放去重后的元素: var arr = [23,44,5,2,23,5,1,7,8,7]; //包含重復(fù)元素 var hash= [];...

    snowLu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<