一、js定義map對象
Map是ES6新加入的數據結構,它提供了一種以鍵值對形式來存儲和操作數據的方式,與Object不同的是,它支持任何類型的數據作為鍵名。創建一個新的Map對象可以直接調用Map構造函數:
const map = new Map();
這樣就可以創建一個空的Map對象了。
當然,我們也可以通過傳入一個數組作為參數,來定義初始的鍵值對:
const map = new Map([ ["name", "小明"], ["age", 18], ["gender", "男"] ]);
這樣,就可以同時定義key為”name”、”age”、”gender”,value為”小明”、18、”男”的項。
二、js定義一個全局變量
我們可以使用var、let、const等關鍵字來定義全局變量,以便在不同的作用域中使用。
// 使用var定義全局變量
var globalVar = "全局變量";
function test() {
console.log(globalVar); //輸出"全局變量"
}
// 使用let定義全局變量
let globalLet = "全局變量";
function test() {
console.log(globalLet); //輸出"全局變量"
}
// 使用const定義全局變量
const globalConst = "全局變量";
function test() {
console.log(globalConst); //輸出"全局變量"
}
三、js定義Map並賦值
除了前面所說的通過構造函數或者傳入數組來創建一個Map對象之外,我們還可以通過set()方法來動態添加鍵值對:
const map = new Map();
map.set("name", "小明");
map.set("age", 18);
map.set("gender", "男");
這樣就可以實現動態添加鍵值對的效果。
四、js定義類
在JavaScript中,我們可以使用class關鍵字來定義一個類,從而更好的組織和封裝代碼。
class Person {
constructor(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
sayHi() {
console.log(`我叫${this.name},今年${this.age}歲,是一個${this.gender}生。`);
}
}
const person = new Person("小明", 18, "男");
person.sayHi(); //輸出"我叫小明,今年18歲,是一個男生。"
定義一個類,需要用到constructor方法,在其中定義類的屬性;而方法可以通過直接在類的花括號中定義來實現。
五、js定義Map類型
JavaScript中原生支持的數據類型有Number、String、Boolean、Array、Object、undefined和null。而使用ES6中新增的數據類型,我們可以通過class來定義自己想要的數據類型。
class Map {
constructor() {
this.data = {};
}
set(key, value) {
this.data[key] = value;
}
get(key) {
return this.data[key];
}
has(key) {
return key in this.data;
}
delete(key) {
delete this.data[key];
}
}
const map = new Map();
map.set("name", "小明");
map.set("age", 18);
map.set("gender", "男");
console.log(map.get("name")); //輸出"小明"
這樣就自己定義了一個類Map,包含了set()、get()、has()和delete()方法,以及一個數據存儲對象data。在set()方法中,使用鍵值對的方式將數據存儲到data中。在get()方法中,通過傳入鍵名,來獲取對應的鍵值。在has()方法中,使用in操作來檢測是否存在該鍵名。在delete()方法中,使用delete操作來刪除指定鍵名對應的項。
六、js定義方法
在JavaScript中,方法也是函數的一種形式,所以定義方法的方式其實就是定義函數。
class Person {
constructor(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
sayHi() {
console.log(`我叫${this.name},今年${this.age}歲,是一個${this.gender}生。`);
}
sayHello() {
console.log("你好,世界!");
}
}
const person = new Person("小明", 18, "男");
person.sayHi(); //輸出"我叫小明,今年18歲,是一個男生。"
person.sayHello(); //輸出"你好,世界!"
在上面的代碼中,我們在Person類中定義了sayHi()方法和sayHello()方法,分別輸出不同的結果。
七、js定義Map數組
在ES6中,新增了一個Array.of()方法,可以用來創建包含任意數量元素的數組。我們可以使用這個方法來創建包含Map對象的數組:
const map1 = new Map([ ["name", "小明"], ["age", 18] ]); const map2 = new Map([ ["name", "小紅"], ["age", 16] ]); const mapArray = Array.of(map1, map2); console.log(mapArray); //輸出[Map(2), Map(2)]
這樣就可以創建了一個包含兩個Map對象的數組,mapArray[0]和mapArray[1]分別對應map1和map2。
八、js定義Map並初始化
有時候我們需要定義一個Map對象,並在初始化時就賦值。可以通過傳入一個Object對象來實現:
const obj = {
name: "小明",
age: 18,
gender: "男"
};
const map = new Map(Object.entries(obj));
console.log(map); //輸出Map(3) {"name" => "小明", "age" => 18, "gender" => "男"}
在這個例子中,我們先定義了一個Object對象obj,包含了name、age和gender三個鍵值對。然後通過Object.entries()方法,將obj轉成一個數組形式的二維數組,再通過new Map()方法,將數組傳入來創建一個Map對象。
九、js定義Map怎麼調用
定義了Map對象之後,我們可以通過get()、set()、has()和delete()等方法來操作Map對象中的鍵值對。
const map = new Map([
["name", "小明"],
["age", 18],
["gender", "男"]
]);
console.log(map.get("name")); //輸出"小明"
map.set("name", "小紅");
console.log(map.get("name")); //輸出"小紅"
console.log(map.has("height")); //輸出false
map.delete("age");
console.log(map); //輸出Map(2) {"name" => "小紅", "gender" => "男"}
map.clear();
console.log(map); //輸出Map(0) {}
在上面的代碼中,我們先定義了一個Map對象map,然後通過get()方法,根據鍵名獲取對應的值;通過set()方法,改變或添加某個鍵名對應的值;通過has()方法,判斷是否存在某個鍵名;通過delete()方法,刪除指定的鍵值對;通過clear()方法,清空Map對象中的所有鍵值對。
十、小結
通過本文的介紹,我們了解了JavaScript中定義Map的各種方法,包括使用構造函數或數組創建Map對象、通過set()方法動態添加鍵值對、使用class定義自己的Map類型等。同時,我們也學會了如何通過get()、set()、has()和delete()等方法來操作Map對象中的鍵值對。Map作為一種新的數據結構,在實際的編程中也常常被使用到,希望本文能夠對你對Map有更深入了解和應用指導。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/196411.html
微信掃一掃
支付寶掃一掃