js遍歷集合(Array,Map,Set)
var a = ['A', 'B', 'C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (var x of a) { // 遍歷Array
alert(x);
}
for (var x of s) { // 遍歷Set
alert(x);
}
for (var x of m) { // 遍歷Map
alert(x[0] + '=' + x[1]);
}
>for...of與for...in的區別:for ... in迴圈由於歷史遺留問題,它遍歷的實際上是物件的屬性名稱。一個Array陣列實際上也是一個物件,它的每個元素的索引被視為一個屬性。
當我們手動給Array物件添加了額外的屬性後,for ... in迴圈將帶來意想不到的意外效果:
var a = ['A', 'B', 'C'];
a.name = 'Hello';
for (var x in a) {
alert(x); // '0', '1', '2', 'name'
}
var a = ['A', 'B', 'C'];
a.name = 'Hello';
for (var x of a) {
alert(x); // 'A', 'B', 'C'
}
>更好的方式:iterable內建的forEach方法:
var a = ['A', 'B', 'C']; a.forEach(function (element, index, array) { // element: 指向當前元素的值 // index: 指向當前索引 // array: 指向Array物件本身 alert(element);//'A','B','C' });
var s = new Set(['A', 'B', 'C']);
s.forEach(function (element, sameElement, set) {
alert("引數1="+element+",引數2="+sameElement);
});
//引數1=A,引數2=A
//引數1=B,引數2=B
//引數1=C,引數2=C
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]); m.forEach(function (value, key, map) { alert("引數1="+value+",引數2="+key); }); //引數1=x,引數2=1 //引數1=y,引數2=2 //引數1=z,引數2=3
本文參考了這個文章:http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143450082788640f82a480be8481a8ce8272951a40970000
相關推薦
js遍歷集合(Array,Map,Set)
Array可以使用下標,Map和Set不能使用下標,ES6引入了iterable型別,Array,Map,Set都屬於iterable型別,它們可以使用for...of迴圈來遍歷:var a = ['
jsp 頁面中用struts2 標籤遍歷集合(list map)
1,list: public class ListTestAction extends ActionSupport { private List<String> list1; private List<User> list2;
2018-6-3_《JS遍歷方法(12個)》
turn undefine map defined ever fin asc dex ole /* 12個遍歷方法: 1. forEach ES5 2. every ES5 3. some ES5 4. filter ES5 5. map ES5 6. redu
js遍歷函式forEach()、map()、every()和some()的區別例項
forEach()、map()、every()和some()的聯絡和區別 map() array.map(function(currentValue,currentIndex,array) {}
Java-集合 list物件進行指定位置插入、刪除、迭代、遍歷輸出(具體習題講解)
原題: 建立一個 List,在 List 中增加三個工人,基本資訊如下: 姓名 年齡 工資 zhang3 18 3000 li4 25 3500 wang5 22 3200 工人有一個行為work。在 li4 之前
集合(List、Set)
特性 完成 index cas ren mil public 決定 void 第19天 集合 第1章 List接口 我們掌握了Collection接口的使用後,再來看看Collection接口中的子類,他們都具備那些特性呢? 接下來,我們一起學習Collection中的常用
樹的三種遍歷方式(C語言實現)
//************************************************************************* // 【前序】遍歷演算法 //二叉樹不空,先訪問根結點,然後前序遍歷左子樹,再前序遍歷右子樹 //***********************
圖及演算法----遍歷演算法(迭代實現)
1. 圖的遍歷 2. 3. class Graph: def __init__(self): self.graph: Dict[str, List[str]] = defaultdict(list) def addEdge(self,
圖的廣度優先遍歷BFS(鄰接矩陣實現)c語言
廣度優先遍歷也叫廣度優先搜尋(Breadth First Search)。它的遍歷規則:先訪問完當前頂點的所有鄰接點。先訪問的頂點的鄰接點先於後訪問頂點的鄰接點被訪問。演算法思想:使用佇列的資料結構(FIFO (First In First Out)),將一個頂點加入佇列,然
Java中的集合(List和Set)
Java容器類主要是為了“儲存物件”,並將其劃分為兩個不同的概念:Collection,獨立元素的集合,這些元素都服從一條或多條規則,如List必須按照插入順序儲存元素,Set不能有重複元素,Queue按照排隊規則來確定物件的順序。Map形成一組“鍵值對”物件,允許你使用鍵
圖的深度優先遍歷DFS(鄰接表實現)c語言
要實現該演算法首先要知道鄰接表的概念。鄰接表是一種常用的圖的儲存結構,它的結構特點是:頂點由一個一維陣列儲存;鄰接點用連結串列儲存相比於單純用陣列實現的鄰接矩陣,鄰接表可以避免空間浪費其圖解如下:firstedge指向邊表第一個結點。邊表的adjvex的值代表與V0頂點有邊的
圖的深度優先遍歷DFS (鄰接矩陣實現) c語言
圖的遍歷是指從圖中的某一頂點出發,按照一定的策略訪問圖中的每一個頂點。每個頂點有且只能被訪問一次。深度優先遍歷也叫深度優先搜尋(Depth First Search)。它的遍歷規則:先選擇一個初始頂點,再規定一個方向,例如往右邊一直遍歷。於是就往右邊一直走,把訪問過的頂點做好
1.4.2python ID遍歷爬蟲(每天一更)
class errors bre headers cep import highlight 1.4 ber # -*- coding: utf-8 -*- ‘‘‘ Created on 2019年5月7日 @author: 薛衛衛 ‘‘‘ import i
【Java】集合(List、Set、Map)遍歷、刪除、比較元素時的小陷阱
主要說明List,其餘兩個都一樣 一、漏網之魚-for迴圈遞增下標方式遍歷集合,並刪除元素 如果你用for迴圈遞增下標方式遍歷集合,在遍歷過程中刪除元素,你可能會遺漏了某些元素。說那麼說可能也說不清楚,看以下示例: import ja
Go語言基礎(九)—— Go語言結構體、Go語言切片(Slice)、range遍歷、Go語言Map(集合)
Go語言結構體 Go 語言中陣列可以儲存同一型別的資料,但在結構體中我們可以為不同項定義不同的資料型別。 結構體是由一系列具有相同型別或不同型別的資料構成的資料集合。 結構體表示一項記錄,比如儲存圖書館的書籍記錄,每本書有以下屬性: Title :標題&nbs
javaSE (二十六)map集合遍歷(兩種方法)、輸入字元,計算字元出現次數(用map實現)、HashMap巢狀HashMap
1、map集合遍歷: map集合沒有iterator方法,所以不能直接迭代 直接看下面的程式碼和第一行的註解(加了註釋之後變黑看不清了,所以前面沒加註釋) 1、map的第一種遍歷:遍歷map的所有值:method1() 獲取所有的鍵的集合:Set<K> keySet()
Java基礎 - Map接口的實現類 : HashedMap / LinkedHashMap /TreeMap 的構造/修改/遍歷/ 集合視圖方法/雙向叠代輸出
順序 所有 collect int oid 代碼 修改 getc entryset Map筆記: import java.util.*; /**一:Collection接口的 * Map接口: HashMap(主要實現類) : HashedMap / Li
scala筆記-Array、ArrayBuffer以及遍歷陣列(7)
Array 在Scala中,Array代表的含義與Java中類似,也是長度不可改變的陣列。此外,由於Scala與Java都是執行在JVM中,雙方可以互相呼叫,因此Scala陣列的底層實際上是Java陣列。 例如字串陣列在底層就是Java的String[],整數陣列在底層就是Java的
【Javascript】JS遍歷陣列的三種方法:map、forEach、filter
前言 近一段時間,因為專案原因,會經常在前端對陣列進行遍歷、處理,JS自帶的遍歷方法有很多種,往往不加留意,就可能導致知識混亂的現象,並且其中還存在一些坑。前端時間在ediary中總結了js原生自帶的常用的對陣列遍歷處理的方法,分別為:map、forEach、filter,在講解知識點的同時,會類比相識
總結下List和Map遍歷方式(日常總結)
一.Map public static void main(String[] args) { Map<Integer, Integer> map = new HashMap<>(); map.put(1, 2);