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

資訊專欄INFORMATION COLUMN

石頭理解的set

shinezejian / 1994人閱讀

摘要:對(duì)對(duì)象進(jìn)行遍歷操作。對(duì)象沒有提供訪問指定值的方法。所以石頭一般使用對(duì)象存放對(duì)象,然后檢查是否有某個(gè)值,使用數(shù)組取數(shù)據(jù)。返回是否刪除指定的對(duì)象。比如無法準(zhǔn)確地取出指定的值。應(yīng)該是做為一個(gè)數(shù)組對(duì)象的補(bǔ)充存在。

Set

set類似數(shù)組。其成員的值都是唯一的。

數(shù)組去重

const set = new Set([1,2,3,2,4,2,3,4])
console.log(set)
[...new Set(array)] // 返回?zé)o重復(fù)的數(shù)組

Set.add(value) 為set對(duì)象添加一個(gè)值
Set.size 返回set對(duì)象的長(zhǎng)度
Set.delete(value) 刪除set對(duì)象中的指定的值,并返回bool結(jié)果。
Set.has(value) 檢查set對(duì)象中是否有指定的值
Set.clear() 刪除指定set對(duì)象中的所有值

Set.keys() 返回一個(gè)以指定set對(duì)象的key組成的類數(shù)組對(duì)象。
Set.values() 返回一個(gè)以指定set對(duì)象的value組成的類數(shù)組對(duì)象。
Set.entries() 返回一個(gè)以key和value組成的數(shù)組組成的數(shù)組。
Set.forEach(fn(value, key) {}) 對(duì)set對(duì)象進(jìn)行遍歷操作。

set對(duì)象沒有提供訪問指定值的方法。要想訪問指定值需要轉(zhuǎn)為數(shù)組后再用數(shù)組的方法取指定值。

let set = new Set(["a", 1, 2, 2, 2, 1, 3])
let arr = [...set] // ["a", 1, 2, 3]
let index = arr.indexOf("a") // 0
console.log(arr[index]) // "a"

因?yàn)閟et對(duì)象在存數(shù)據(jù)時(shí)無重復(fù)值。在取時(shí)較困難。所以石頭一般使用set對(duì)象存放對(duì)象,然后檢查是否有某個(gè)值,使用數(shù)組取數(shù)據(jù)。
set對(duì)象不能判斷對(duì)象是否相等。所以不能去重對(duì)象。

并集

let union = new Set([...seta, ...setb])

交集

let intersect = new Set([...seta].filter(x => setb.has(x)))

差集

let difference = new Set([.seta].filter(x => !setb.has(x)))
WeakSet

只能存放對(duì)象。

對(duì)對(duì)象是弱引用。

WeakSet.add(obj) 為WeakSet對(duì)象指定添加的對(duì)象。
WeakSet.delete(obj) 返回是否刪除指定的對(duì)象。
WeakSet.has(obj) 返回是否存在指定的對(duì)象。

現(xiàn)在set對(duì)象的操作方法、屬性太少。(比如:無法準(zhǔn)確地取出指定的值。)所以把他只做為一個(gè)倉(cāng)庫對(duì)待。操作還要在數(shù)組中操作。
它出現(xiàn)在數(shù)組對(duì)象沒有這些功能的時(shí)期。應(yīng)該是做為一個(gè)數(shù)組對(duì)象的補(bǔ)充存在。要項(xiàng)目中應(yīng)當(dāng)把set/array結(jié)合起來使用。
set對(duì)象用處少。weakset對(duì)象的用處更少。

2018/08/05 by stone

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

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

相關(guān)文章

  • [leetcode] 403. Frog Jump

    摘要:還有一個(gè)石頭可能由之前的多個(gè)石頭到達(dá),這又是可以優(yōu)化的地方。當(dāng)前結(jié)果可由之前的結(jié)果得出,且有重復(fù)的搜索方法,就需要用。 [鏈接描述]leetcode 題目。 有點(diǎn)類似于jump game, 只不過這里對(duì)步數(shù)有了隱形的要求,當(dāng)前步數(shù)和之前步數(shù)有關(guān)。如果我們用brute force的方法來解,每一步有三種可能,一共n個(gè)石頭,時(shí)間復(fù)雜度就是O(3^n)。這其中有很多步數(shù)是多余的,第i個(gè)石頭...

    mo0n1andin 評(píng)論0 收藏0
  • 基于概率論分類方法:樸素貝葉斯

    摘要:基于概率論的分類方法樸素貝葉斯概述貝葉斯分類是一類分類算法的總稱,這類算法均以貝葉斯定理為基礎(chǔ),故統(tǒng)稱為貝葉斯分類。另外一種有效計(jì)算條件概率的方法稱為貝葉斯準(zhǔn)則??梢栽谌我獾姆诸悎?chǎng)景中使用樸素貝葉斯分類器,不一定非要是文本。 基于概率論的分類方法:樸素貝葉斯 1. 概述 貝葉斯分類是一類分類算法的總稱,這類算法均以貝葉斯定理為基礎(chǔ),故統(tǒng)稱為貝葉斯分類。本章首先介紹貝葉斯分類算法的基礎(chǔ)—...

    LeviDing 評(píng)論0 收藏0
  • vue里面v-for列表循環(huán)

    摘要:取到里面的偶數(shù)位的值在計(jì)算屬性不適用的情況下例如,在嵌套循環(huán)中你可以使用一個(gè)方法一段取值范圍的也可以取整數(shù)。 列表渲染 v-for v-for可以把數(shù)據(jù)中的一個(gè)數(shù)組對(duì)應(yīng)為一組元素v-for 指令需要以 item in items 形式的特殊語法, items 是源數(shù)據(jù)數(shù)組并且 item 是數(shù)組元素迭代的別名。 {{item.text}} data:{ items:[ ...

    verano 評(píng)論0 收藏0
  • Leetcode 刷題(持續(xù)更新)

    摘要:字母區(qū)分大小寫,因此和是不同類型的石頭。輸入輸出暴力解法將寶石中的每個(gè)元素在石頭中的數(shù)量相加的時(shí)間復(fù)雜度為石頭中的每個(gè)元素此元素在寶石中則官方解法哈希表將搜索的時(shí)間復(fù)雜度變?yōu)? 本文章基于Datewhale第30期組隊(duì)學(xué)習(xí) 2021.11.15 # 1 兩數(shù)之和# 給定一個(gè)整數(shù)數(shù)組 nums...

    XanaHopper 評(píng)論0 收藏0
  • 石頭理解vue-router(一)

    摘要:基礎(chǔ)安裝路由功能作用,使用定義組件與路由的映射。定義渲染組件的位置。作用定義注意動(dòng)態(tài)路由的動(dòng)態(tài)部分改變時(shí)原來的組件會(huì)被復(fù)用,這樣就不會(huì)觸發(fā)生命周期鉤子函數(shù)。嵌套路由命名視圖命名路由別名重定向?qū)⒃O(shè)置為組件屬性命名路由就是給路由起個(gè)名字。 vue-router 基礎(chǔ) install CDN

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<