javascript是一種非常靈活性強的編程語言,也是web開發中最常用的腳本語言。在javascript的編程過程中,數組是常見的一種數據類型。而在使用數組時,就經常遇到需要初始化對象數組的問題。初始化對象數組即是將一個普通的數組存放對象,而這些對象又有各自獨立的屬性和方法。接下來,本文將詳細介紹javascript初始化對象數組的方法。
在javascript中,要聲明一個空的數組,只需使用下面這條語句:
var arr = [];這條語句創建了一個空數組,該數組沒有任何元素。如果想添加元素到數組中,可以使用push()方法:
var arr = []; arr.push("apple"); arr.push("orange");上述代碼將兩個字符串添加到了數組中。 但是,在實際編程中,經常需要初始化對象數組。可以通過以下代碼來實現:
// 定義一個對象 var person = { name: "Tom", age: 18, gender: "male" }; // 初始化對象數組 var arr = [person, person, person]; console.log(arr);上述代碼中,首先定義了一個對象person,表示一個人的姓名、年齡、性別。然后將這個對象存儲在了一個數組中,數組名為arr。為了說明方便,這里將對象person重復三次存儲在了數組中。最后,使用console.log()方法將數組輸出到控制臺中,便可看到存儲在數組中的三個對象。 上述方法雖然簡單,但是比較麻煩,需要寫多遍相同的對象。下面,將介紹更為高效的方法。 一種比較簡單直接的方法是使用數組的map()方法。map()方法會遍歷數組,并針對每個元素調用一個函數,然后返回一個新的數組。具體實現如下:
// 定義一個對象 var person = { name: "Tom", age: 18, gender: "male" }; // 使用map()方法初始化對象數組 var arr = new Array(3).fill().map(function(item) { return {...person}; }); console.log(arr);上述代碼中,使用new Array()創建了一個長度為3的空數組,并使用fill()方法填充了元素,然后再使用map()方法遍歷數組。在map()方法中,使用了spread操作符(...)將對象person展開到一個新的對象中,并返回這個新對象,從而完成了對對象數組的初始化工作。 除了使用map()方法之外,另一種常用的初始化對象數組的方法是使用Array.from()方法。Array.from()方法可以接收兩個參數:第一個參數是一個類數組的對象或可迭代對象;第二個參數是一個回調函數,用來對每個元素執行變換操作。具體實現如下:
// 定義一個對象 var person = { name: "Tom", age: 18, gender: "male" }; // 使用Array.from()方法初始化對象數組 var arr = Array.from(new Array(3), function() { return {...person}; }); console.log(arr);上述代碼中,使用new Array()創建了一個長度為3的空數組,并將其作為第一個參數傳遞給Array.from()方法。在第二個參數中定義了一個匿名函數,用來將原始對象person復制到新的對象中,并返回這個新對象。在執行完Array.from()方法之后,即可得到存儲著3個對象的數組。 總結:本文介紹了javascript初始化對象數組的兩種方法,一種是使用map()方法,另一種是使用Array.from()方法。這兩種方法都比較簡單,使用也比較靈活,可以根據實際需求來選擇所需要的初始化方法。