jsmap編程教程,js MAP

本文目錄一覽:

js 數據結構map

1.JavaScript 的對象(Object),本質上是鍵值對的集合(Hash結構),但是傳統上只能用字符串當作鍵。這給它的使用帶來了很大的限制。

2.類似於對象,也是鍵值對的集合,但是“鍵”的範圍不限於字符串,各種類型的值(包括對象)都可以當作鍵。也就是說,Object結構提供了“字符串—值”的對應,Map 結構提供了“值—值”的對應,是一種更完善的 Hash 結構實現。

3.如果對同一個鍵多次賦值,後面的值將覆蓋前面的值。

4.只有對同一個對象的引用,Map 結構才將其視為同一個鍵。Map 的鍵實際上是跟內存地址綁定的,只要內存地址不一樣,就視為兩個鍵。這就解決了同名屬性碰撞(clash)的問題。

5.如果 Map 的鍵是一個簡單類型的值(數字、字符串、布爾值),則只要兩個值嚴格相等,Map 將其視為一個鍵.

如何使用javascript遍歷map集合

可以使用jquery中的each()函數。

$.each(obj, function(i) {

alert(obj[i]);

});

function 也可以寫為function(key,value){

}

key,value 就是map的key, value

js map的使用

map()函數——用於對數組或對象進行處理,並返回處理之後的數組.

前提是在map的回調函數中,沒有修改item。直接return了item。 如果我們不想修改arr的值,而只需要一個newArr來存儲新的值。 切記,不要在回調函數中,修改item。 即直接item.屬性=值。這種操作。

如下圖,如果修改了item。那麼原始的arr也會改變。

js數組的map方法

js數組的map方法

這裡的map不是“地圖”的意思,而是指“映射”。

[].map(); 基本用法跟forEach方法類似:

array.map(callback,[ thisObject]);

callback的參數也類似:

[].map(function(value, index, array) {

// …

});

map方法的作用不難理解,“映射”嘛,也就是原數組被“映射”成對應新數組。下面這個例子是數值項求平方:

var data = [1, 2, 3, 4];

var arrayOfSquares = data.map(function (item) {

return item * item;

});

alert(arrayOfSquares); // [1, 4, 9, 16]

callback需要有return值,如果沒有,就像下面這樣:

var data = [1, 2, 3, 4];

var arrayOfSquares = data.map(function() {});

arrayOfSquares.forEach(console.log);

結果可以看到,數組所有項都被映射成了undefined:

在實際使用的時候,我們可以利用map方法方便獲得對象數組中的特定屬性值們。例如下面這個例子(之後的兼容demo也是該例子):

var users = [

{name: “張含韻”, “email”: “zhang@email.com”},

{name: “江一燕”,   “email”: “jiang@email.com”},

{name: “李小璐”,  “email”: “li@email.com”}

];

var emails = users.map(function (user) { return user.email; });

console.log(emails.join(“, “)); // zhang@email.com, jiang@email.com, li@email.com

Array.prototype擴展可以讓IE6-IE8瀏覽器也支持map方法:

if (typeof Array.prototype.map != “function”) {

Array.prototype.map = function (fn, context) {

var arr = [];

if (typeof fn === “function”) {

for (var k = 0, length = this.length; k length; k++) {

arr.push(fn.call(context, this[k], k, this));

}

}

return arr;

};

求教在js中怎麼創建map

map的對象只能是一個數組,最簡單的創建方式是

var test = [];//定義一個空數組

test.push();//給數組添加元素

test.map(function(e, i) {

    console.log(e);//e表示數組遍歷的元素,i表示遍歷的下標,也叫做key

})

另外一種創建數組的方式

var test = new Array()

javascript怎麼遍歷map

var map = new HashMap();

map.put(“a”,”1″);

map.put(“b”,”2″);

遍歷:

var key = map.keySet();

for (var i in key){

alert(map.get(key[i]));

註:js 中使用map,要先導入一個HashMap.js文件

沒要求,引入這個文件之後,可以直接使用hashmap了

原創文章,作者:LUQA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/144043.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LUQA的頭像LUQA
上一篇 2024-10-24 15:27
下一篇 2024-10-24 15:27

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變量類型,而是在變量第一次賦值時自動識別該變量的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows服務器上的日誌,並將其發送到遠程服務器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29

發表回復

登錄後才能評論