成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在 JavaScript 中快速獲取 Map 對象的長度

開發(fā) 前端
為了在 JavaScript 中獲取Map的長度,我們使用它的size屬性,例如 console.log(map.size)。

為了在 JavaScript 中獲取Map的長度,我們使用它的size屬性,例如 console.log(map.size)。

const map = new Map();
map.set('user1', 'John');
map.set('user2', 'Kate');
map.set('user3', 'Peter');


// ?? Get length of map
console.log(map.size); // 3

Map size()、set() 和 delete() 方法

Map 對象的size屬性存儲對象中的鍵值對。

當(dāng) set() 方法添加元素并 delete() 刪除它們時,size 屬性會相應(yīng)更改。

當(dāng)我們使用 set() 方法向地圖添加一個新元素時,大小屬性會增加 1。同樣,當(dāng)我們使用 delete() 從地圖中刪除一個元素時,大小會減少 1。

const map = new Map();
map.set('user1', 'John');
console.log(map.size); // 1


map.set('user2', 'Kate');
console.log(map.size); // 2


map.delete('user1');
console.log(map.size); // 1

Map size與Array length

當(dāng)然,映射和數(shù)組有不同的用途,但每個都有一個屬性,該屬性給出了它存儲的項目的長度、數(shù)組的長度和映射的大小。

兩者之間的一個關(guān)鍵區(qū)別是您可以直接更改數(shù)組的長度屬性。

const arr = [];


arr.push('Pat');
arr.push('Matt');


console.log(arr.length); // 2


// ?? Array length changed
arr.length = 1;


console.log(arr.length); // 1

但是你不能對地圖做同樣的事情:

const map = new Map();


map.set('user1', 'Pat');
map.set('user2', 'Matt');


console.log(map.size); // 2


map.size = 5;


// ?? length can't be modified directly
console.log(map.size); // 2

正如我們之前看到的,您只能使用 set() 和 delete() 等方法更改大小。

當(dāng)您直接將 Array 長度更改為較小的值時,元素會被切掉。

const arr = ['Pat', 'Matt'];


// ?? Length decreased directly
arr.length = 1;


// No more 'Matt'
console.log(arr); // ['Pat']

另一方面,當(dāng)您直接將數(shù)組長度更改為更大的值時,會從數(shù)組末尾添加空占位符元素:

const arr = ['Pat', 'Matt'];


// ?? Length increase directly
arr.length = 3;


// Empty item added
console.log(arr); // [ 'Pat', 'Matt', <1 empty item> ]

雖然這可行,但我建議 Array splice() 從數(shù)組中刪除元素,這樣您就可以更好地控制刪除并可以訪問已刪除的元素。

使用 splice() 您可以設(shè)置刪除的起始索引、要刪除的元素數(shù)量以及應(yīng)該插入到它們位置的新元素。

const arr = ['Pat', 'Matt'];


// Delete 1 element at index 1 (2nd element)
const deleted = arr.splice(1, 1);


console.log(deleted); // ['Matt']


const arr2 = ['Pat', 'Matt'];
// Delete 1 element at index 1 (2nd element) and insert 'John' at index 1


const deleted2 = arr2.splice(1, 1, 'John');
console.log(deleted2); // ['Matt']

使用 clear() 方法清除地圖

Map clear() 方法的作用從它的名字中應(yīng)該很明顯; 它清除所有元素的地圖:

const map = new Map();


map.set('user1', 'John');
map.set('user2', 'Kate');
map.set('user3', 'Peter');


console.log(map.size); // 3


map.clear();


console.log(map.size); // 0

要點總結(jié)

  • 要在 JavaScript 中獲取地圖的長度,請使用Map對象的 size 屬性。
  • 當(dāng)您使用 set()、delete() 或 clear() 添加或刪除元素時,size會更新。
  • 與數(shù)組不同,您不能直接更改Map的size。


責(zé)任編輯:華軒 來源: web前端開發(fā)
相關(guān)推薦

2024-09-03 10:06:43

JavaMap項目

2024-04-11 08:30:05

JavaScript數(shù)組函數(shù)

2020-11-26 08:12:24

JavaScript對象數(shù)組

2015-07-06 09:59:56

JavaScript私有成員

2019-04-23 15:20:26

JavaScript對象前端

2020-08-23 11:32:21

JavaScript開發(fā)技術(shù)

2014-05-07 09:20:45

Liunx快速閱讀

2024-10-22 15:10:49

2022-01-21 10:58:39

JavaScriptGolangPython

2021-05-09 20:03:04

Wine 6.8 JavaScriptMap 對象

2021-03-11 23:43:20

JavaScript數(shù)組開發(fā)

2021-03-18 10:45:02

JavaScript數(shù)組運算符

2020-06-17 08:48:22

JavaScript開發(fā)技術(shù)

2021-06-03 10:00:47

JavaScript 前端數(shù)克隆對象

2011-03-21 12:41:41

JavaScript

2023-01-01 23:42:22

React框架暗黑模式

2018-05-04 09:32:32

Linux快速監(jiān)控rwho

2021-10-21 18:47:37

JavaScript面向對象

2021-03-26 23:41:19

JavaScript對象開發(fā)

2022-03-15 07:55:09

JavaScript線性儀表圖開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品欧美一区二区 | 亚洲精品视频三区 | 日韩一区二区在线视频 | 免费精品久久久久久中文字幕 | 精品婷婷| 成人三级在线播放 | 97色伦网 | 免费观看一级毛片 | 成人在线视频观看 | 亚洲精品一区二区三区在线 | 在线观看第一页 | 毛片免费视频 | a黄在线观看 | 日韩免费网站 | 精品日本久久久久久久久久 | 草草视频在线播放 | 欧美一区二区三区在线 | 91亚洲国产 | 久草热播 | av毛片 | 狠狠亚洲| 午夜在线视频 | 日操操 | 国产精品久久久久久吹潮 | 国产精品国产亚洲精品看不卡15 | 亚洲在线电影 | 欧美aaaaaaaa| 久草免费在线视频 | 中文字幕乱码一区二区三区 | 日韩在线不卡 | 日韩乱码在线 | 91久久精品 | 黄色av免费| 国产精品不卡视频 | 欧美久久久 | 欧美一区二区三区四区五区无卡码 | 久久久免费观看视频 | 国产a视频 | 北条麻妃一区二区三区在线视频 | 紧缚调教一区二区三区视频 | 午夜在线 |