成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

新手必看:ES6使用之巧用Set為數(shù)組去重

zhichangterry / 2671人閱讀

摘要:項目使用了,所以就不直接操作了,而是直接操作數(shù)組。為了避免往數(shù)組中重復(fù)數(shù)據(jù),利用了不能含有重復(fù)元素的特性來去重當(dāng)然,重復(fù)添加自己也是會處理的,也可以使用數(shù)組的方法判斷。當(dāng)然,使用數(shù)組,也可以對每個移除項,使用或方法。

前幾天看了看ES6的一些知識,正好今天做項目的時候就用上了Set的一個特性,現(xiàn)在分享給和我一樣的新手。
目的就是點擊某個checkbox,實現(xiàn)checkall的效果。
項目使用了vue,所以就不直接操作DOM了,而是直接操作數(shù)組。

為了避免往數(shù)組中重復(fù)push數(shù)據(jù),利用了Set不能含有重復(fù)元素的特性來去重;當(dāng)然,重復(fù)添加Vue自己也是會處理的,也可以使用數(shù)組的includes()方法判斷。

為了方便的從數(shù)組中移除某些元素,使用了Set對象很方便的delete()方法。當(dāng)然,使用數(shù)組,也可以對每個移除項,使用findIndex()indexOf()方法。但是這兩個方法都是返回所查找元素第一次出現(xiàn)的位置,而使用Set的優(yōu)點是已經(jīng)自動去重,可以應(yīng)對含有多個重復(fù)元素的情況。
下面就是代碼:

 checkallToggle: function(event){
    let flag = event.target.checked;
    let inputs = event.target.parentNode.parentNode.getElementsByClassName("check-case");
    if(flag) {
        for(let input of inputs) {
            this.checkedFlowNodes = [...new Set(this.checkedFlowNodes).add(input.value)]
        }
    } else {
        for (let input of inputs) {
            let set = new Set(this.checkedFlowNodes)
            let value = input.value
            if(set.has(input.value)) {
                set.delete(input.value)
            }
            this.checkedFlowNodes = [...set]
        }
    }
},

注意:這個方法僅能用來移除基本類型的數(shù)據(jù),因為對象是引用類型,除非能獲得這個對象本身,否則無法使用delete()方法。

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/87283.html

相關(guān)文章

  • ES6/JavaScript一些‘巧用

    摘要:前言第一次發(fā)表文章,如有不好的地方請見諒在編寫代碼的時候存在的一些方法和技巧,雖然有時候條條大路都通向羅馬,但是也許總會有那么一條最短的路徑可走。 前言 第一次發(fā)表文章,如有不好的地方請見諒/ 在編寫JavaScript代碼的時候存在的一些方法和技巧,雖然有時候條條大路都通向羅馬,但是也許總會有那么一條最短的路徑可走。本文將一些都知道卻不怎么用的小技巧分享給大家/ 一些小技巧 1.n...

    zsirfs 評論0 收藏0
  • ES6/JavaScript一些‘巧用

    摘要:前言第一次發(fā)表文章,如有不好的地方請見諒在編寫代碼的時候存在的一些方法和技巧,雖然有時候條條大路都通向羅馬,但是也許總會有那么一條最短的路徑可走。 前言 第一次發(fā)表文章,如有不好的地方請見諒/ 在編寫JavaScript代碼的時候存在的一些方法和技巧,雖然有時候條條大路都通向羅馬,但是也許總會有那么一條最短的路徑可走。本文將一些都知道卻不怎么用的小技巧分享給大家/ 一些小技巧 1.n...

    haoguo 評論0 收藏0
  • CSS篇巧用line-height

    摘要:公司一個頁面中的一個樣式如下,使左邊文字豎直排列且水平垂直居中代碼已中止一般情況,我會用如上或者用使文字豎直排放看起來居中,但是這樣不夠智能或顯得比較冗余。 公司一個頁面中的一個樣式如下,使左邊文字豎直排列且水平垂直居中:showImg(https://segmentfault.com/img/bVJKr7?w=737&h=180); 代碼: 已中止 .left-tit{ wi...

    dendoink 評論0 收藏0
  • CSS篇巧用line-height

    摘要:公司一個頁面中的一個樣式如下,使左邊文字豎直排列且水平垂直居中代碼已中止一般情況,我會用如上或者用使文字豎直排放看起來居中,但是這樣不夠智能或顯得比較冗余。 公司一個頁面中的一個樣式如下,使左邊文字豎直排列且水平垂直居中:showImg(https://segmentfault.com/img/bVJKr7?w=737&h=180); 代碼: 已中止 .left-tit{ wi...

    hsluoyz 評論0 收藏0
  • JavaScript巧學(xué)巧用

    摘要:希望通過以下幾點技巧讓大家的代碼化繁為簡,化簡為精。巧學(xué)巧用可能有人知道中提供了新的數(shù)據(jù)結(jié)構(gòu),但是能夠靈活運用的人或許不多。利用數(shù)據(jù)結(jié)構(gòu)我們能夠輕松的去重一個數(shù)組,比如方法可以將結(jié)構(gòu)轉(zhuǎn)為數(shù)組。 關(guān)于 微信公眾號:前端呼啦圈(Love-FED) 我的博客:勞卜的博客 知乎專欄:前端呼啦圈 前言 由于工作和生活上的一些變化,最近寫文章的頻率有點下降了,實在不好意思,不過相信不久就會慢慢...

    iflove 評論0 收藏0

發(fā)表評論

0條評論

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