日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在JavaScript中快速獲取Map對象的長度

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

創(chuàng)新互聯(lián)主營無為網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),無為h5小程序設(shè)計(jì)搭建,無為網(wǎng)站營銷推廣歡迎無為等地區(qū)企業(yè)咨詢

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() 刪除它們時(shí),size 屬性會相應(yīng)更改。

當(dāng)我們使用 set() 方法向地圖添加一個(gè)新元素時(shí),大小屬性會增加 1。同樣,當(dāng)我們使用 delete() 從地圖中刪除一個(gè)元素時(shí),大小會減少 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è)屬性,該屬性給出了它存儲的項(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í),元素會被切掉。

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


//  Length decreased directly
arr.length = 1;


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

另一方面,當(dāng)您直接將數(shù)組長度更改為更大的值時(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è)置刪除的起始索引、要?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會更新。
  • 與數(shù)組不同,您不能直接更改Map的size。

分享名稱:如何在JavaScript中快速獲取Map對象的長度
瀏覽地址:http://www.5511xx.com/article/djehohi.html