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()方法。这两种方法都比较简单,使用也比较灵活,可以根据实际需求来选择所需要的初始化方法。