map及其他應用

2021-10-08 08:04:27 字數 3082 閱讀 1699

定義:map()方法 陣列中的元素為:原始陣列元素呼叫函式處理後的值,並且 按照原始陣列元素順序依次窗戶裡元素

作用:map資料結構是為了解決物件無法使用非字串作為鍵而提出的資料結構。

從本質上講,map是乙個二維陣列,其中陣列元素是只含有兩個元素的陣列,這兩個元素按順序分別為鍵和值。

如var m = new map([[x, 1], [y, 2]]);實際上,最常用的形式是把物件作為鍵,物件相關的資訊作為值來儲存在map中。

map的基本寫法:map.set(key,value);

示例:

1.

var persons = new map();

persons .set("name","張三");

persons .set("age",22);

persons .set("gender","男");

console.log(persons);

列印結果為:

2.var arr=[

["name","張三"],

["age",15],

["gender","男"],

["girlfriend","rose"]

]var map=new map();

arr.foreach(([key,value]) =>

)列印結果為: console.log(map); //

set(key)方法:是給map集合設定鍵值對元素

向map資料中新增乙個鍵值,如果有,則會被更新

引數1:鍵

引數2:值

get(key)方法:是 獲取 map集合的指定鍵的值

獲取map資料中對應的鍵值,沒有則返回undefined

has():查:判斷map中是否有這個鍵值,

有就返回true,沒有就返回false

返回值:布林型別

delete():刪除:刪除map中對應的值(與clear不同)

有就返回true,沒有就返回false

返回值:布林型別

.clear:清除:清空集合裡所有的元素(寫了這個就是什麼都沒了) 無參 無返回值

map集合轉陣列::var res = [...map集合];

合併多個陣列var arr = [陣列名1.concat(陣列名2)];

1.for-of遍歷

語法:

for(var item of map)

const p= new map([["name","張三"],["age",22],["***","男"]])

for (let key of p)

和解構相結合,更符合語義化、取值方便

語法:

for(var [key,value] of map)
2.(foreach)遍歷:

語法:

map.foreach((value,key,self) => )

p.foreach((value, key, map) => );

列印結果:

張三 name map(3)

22 age map(3)

男 *** map(3)

注意

該方法不會對空陣列進行檢測

特點是 :不會改變原始陣列

返回值: 返回乙個新陣列

例如:返回乙個陣列,陣列中元素為原始商戶組中的平方根

var  arr= [4,9,16,25];

function mys()

案例1:

求下列陣列的交集,並集,差集

var arr1 = [19, 69, 67, 58, 26, 67];

var arr2 = [18, 79, 58, 99, 67, 79, 67];

//交集

var cross= [...new set(arr1)].filter(item => arr2.indexof(item) >= 0);

console.log(cross);

列印結果:[67, 58]

//並集

var all= [...new set([...arr1, ...arr2])];

console.log(all);

列印結果:[19, 69, 67, 58, 26, 18, 79, 99]

//差集

var down= all.filter(item => cross.indexof(item) < 0);

console.log(down);

列印結果:[19, 69, 26, 18, 79, 99]

案例2:

陣列去重:

var arr1=["aaa","bbb","ccc","aaa","ccc"];

var arr2=arr1.filter(function(item,index,arr))

console.log(arr2);

列印結果:["aaa", "bbb", "ccc"]

案例3:

刪除陣列中的空字串

var arr=[14,25,356,23,"    ","    56",12];

var res=arr.filter(function(item));

console.log(res);

列印結果:[14, 25, 356, 23, "56", 12]

注意::元素前後的空格需要遍歷刪除,這個只能刪除陣列中的空字串

list 型別轉換 以及其他應用

型別轉換一般方法 list轉listlistlist new arraylist list.add 1 list.add 2 liststrings lists.transform list,new function system.out.println strings.tostring list轉...

要點及其他

類的載入順序 1.靜態屬性和靜態塊 按書寫順序 2.非靜態屬性和非靜態塊 按書寫順序 3.構造方法 4.被呼叫的方法 無論靜態非靜態 使android應用國際化的步驟 1.新建android xml file 2.選擇type為values 3.選擇語言碼和區域碼,語言碼設定為en或zh 區域碼設定...

日誌及其他

spring5框架自帶了通用的日誌封裝。spring5移除了log4jconfiglistener,官方建議使用log4j2,因為框架整合了log4j2.nullable 註解可以使用在方法上,屬性上和引數前,表示方法返回值可以為空,屬性值可以為空,引數值可以為空。spring5能以函式式風格建立物...