自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在 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屬性存儲(chǔ)對象中的鍵值對。

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

當(dāng)我們使用 set() 方法向地圖添加一個(gè)新元素時(shí),大小屬性會(huì)增加 1。同樣,當(dāng)我們使用 delete() 從地圖中刪除一個(gè)元素時(shí),大小會(huì)減少 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ù)組有不同的用途,但每個(gè)都有一個(gè)屬性,該屬性給出了它存儲(chǔ)的項(xiàng)目的長度、數(shù)組的長度和映射的大小。

兩者之間的一個(gè)關(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 長度更改為較小的值時(shí),元素會(huì)被切掉。

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


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


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

另一方面,當(dāng)您直接將數(shù)組長度更改為更大的值時(shí),會(huì)從數(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è)置刪除的起始索引、要?jiǎng)h除的元素?cái)?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

要點(diǎn)總結(jié)

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


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

2024-04-11 08:30:05

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

2020-11-26 08:12:24

JavaScript對象數(shù)組

2024-09-03 10:06:43

JavaMap項(xiàng)目

2015-07-06 09:59:56

JavaScript私有成員

2019-04-23 15:20:26

JavaScript對象前端

2020-08-23 11:32:21

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

2022-01-21 10:58:39

JavaScriptGolangPython

2024-10-22 15:10:49

2020-06-17 08:48:22

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

2014-05-07 09:20:45

Liunx快速閱讀

2021-05-09 20:03:04

Wine 6.8 JavaScriptMap 對象

2011-03-21 12:41:41

JavaScript

2021-03-11 23:43:20

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

2021-03-18 10:45:02

JavaScript數(shù)組運(yùn)算符

2021-06-03 10:00:47

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

2023-01-01 23:42:22

React框架暗黑模式

2022-03-15 07:55:09

JavaScript線性儀表圖開發(fā)

2021-10-21 18:47:37

JavaScript面向對象

2018-05-04 09:32:32

Linux快速監(jiān)控rwho

2021-03-26 23:41:19

JavaScript對象開發(fā)
點(diǎn)贊
收藏

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