前言
本篇文章来罗列一下关于JavaScript的一些对数组的操作的方法。首先我们从如何创建数组开始讲起。然后在详细讲讲它们在项目中的使用方法,以及他们的区别。
创建数组
字面量方式
//通过字面量的方式去创建数组
let arr = [] //创建一个空数组
let arr1 = [10] //创建一个包含数字类型的数组
let arr2 = ['泰戈尔'] //创建一个包含一个字符串的数组
Array构造函数
不传参数
不传参数的话则创建了一个空数组
let arr3 = new Array();
console.log(arr3)// []
传单个Number参数
如果只传入一个数字类型的参数,那么不是表示创建一个包含从0到100的数组,此时表示创建了一个初始长度为100的空数组,验证方法很简单,直接去控制台输出这段代码。
let arr4 = new Array(100)// 初始长度为100的空数组
console.log('输出该数组:',arr4,'\n','查看该数组的长度',arr4.length)
传多个Number参数
传入多个Number类型的参数时,这时候参数的参数将作为被创建的数组的每一项的值。
let arr5 = new Array(1,2,3,4)
console.log(arr5) //[1,2,3,4]
传入单个String参数
传入单个String参数时,直接将传入的参数作为数组的唯一项。
let arr6 = new Array('泰戈尔')
console.log(arr6) //['泰戈尔']
传入多个String参数
传入多个String参数时,多个参数都将作为该数组的每一项的值。
对象作为参数
如果传入对象作为参数,则规则和String类型时是一样的。
ES6方法创建
在ECMAScript2015中新增了几种创建数组的方式。
Array.of()
Array.of()创建数组时会将所传参数都作为数组的items的值,
let arr7 = Array.of(1,2,3)
console.log('数组',arr7,'\n','长度',arr7.length)
Array.from()
Array.from()可以直接将类数组对象
和可迭代对象
作为第一个参数传入,然后返回一个数组。
什么是类数组对象
数组对象
数组对象即该数组的每个成员都是一个对象形式。例如:
const arr = [
{
name: '泰戈尔',
age: 18,
sex: '男'
},
{
name: 'leo',
age: 18,
sex: '男'
},
],
这种一个数组里面每个成员都是对象的形式在开发中经常遇到。
类数组对象
什么是类数组对象呢,我们先来看看他的定义:只包含使用从零开始,且自然递增的整数做键名,并且定义了length表示元素个数的对象(注意这句,它有个显式的length属性),我们就认为它是类数组对象,比如:
let arrObj = {0: 'one', 1: 'two', 2: 'three', 'length': 3}
类数组对象尽管达到了上面提到的要求,但是它并不具备数组的方法,没有为什么,因为它本质还是个对象。
当然我们使用Array.from()方法即可将类数组对象转化为真正的数组。