js中資料結構陣列Array、對映Map、集合Set、物件、JSON
阿新 • • 發佈:2019-02-08
全棧工程師開發手冊 (作者:欒鵬)
js中資料結構
js中原生自帶的資料結構比較簡單,主要有陣列Array、對映Map、集合Set。我們可以根據這三個基本資料結構實現我們其他想要的資料結構型別。
陣列Array
js中的陣列不區分元素型別,陣列的使用在可以參考js系列教程1-陣列操作全解
對映Map
var map = new Map(); //對映,不重複的鍵,以鍵值對的形式存在
map.set("name","mapluanpeng"); //新增設定對映
if(map.has("name")) //判斷對映是否存在
printf(map.get("name")); //讀取對映
map.delete("name"); //刪除對映
集合Set
var set1 = new Set(["name1","name2","name3"]); //集合。不重複的元素集合,不存在鍵值對
set1.add("name"); //新增集合
if(set1.has("name")){ //檢測集合是否存在指定元素
set1.delete("name"); //刪除集合元素
set1.clear(); //清空集合元素
console.log(set1.size); //集合大小
}
set1 = new Set(["name1","name2","name3"]);
var set2 = new Set(["name1","name3","name5"]);
//並集
let union = new Set([...set1, ...set2]);
//交集
let intersect = new Set([...set1].filter( x => set2.has(x)));
//差集
let difference = new Set([...set1].filter(x => !set2.has(x)));
物件
物件本身也可以作為一種資料結構,通過設定屬性和屬性的值來儲存資料。物件的內容可以參考js系列教程2-物件和屬性全解
JSON
json是一種字串資料格式,由於經常與物件變數轉換,進行前後臺的資料互動,這裡瞭解一下。
JSON字串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON物件:
var str2 = { "name": "cxh", "sex": "man" };
var obj = JSON.parse(str); //由JSON字串轉換為JSON物件
Alert(obj.name); //讀取物件屬性
var last=JSON.stringify(obj); //將JSON物件轉化為JSON字元
alert(last);