ES6 Array对象
ES6 Array对象
使用变量存储值会造成以下限制:
一个变量声明一次只能对应一个值。这意味着,要在程序中存储n个值,将需要n个变量声明。因此,当需要存储更大的值集合时,单纯使用变量是不可行的。
程序中的变量是以随机顺序分配内存,因此很难按照其声明的顺序检索/读取值。
JavaScript引入了数组的概念来解决相同的问题。
数组是一个均匀的值集合。为了简化,数组是同一数据类型的值的集合。它由用户定义存储的类型。
数组的特征
数组声明分配顺序内存块。
数组是静态的。这意味着一旦初始化了一个数组,就不能调整大小。
每个内存块表示一个数组元素。
数组元素由一个唯一的整数标识为元素的下标/索引。
数组也像变量一样,应该在使用之前声明。
数组初始化是指填充数组元素。
数组元素值可以更新或修改,但不能删除。
声明和初始化数组
要在JavaScript中声明和初始化数组,请使用以下语法
var array_name; //declaration array_name = [val1,val2,valn..] //initialization OR var array_name = [val1,val2…valn]
注意:[]被称为数组的维度
例如,一个声明如下: var numlist = [ 2,4,6,8]将创建一个数组,如下图所示。
访问数组元素
数组名称后跟下标的数组名用于引用数组元素。
语法
array_name[subscript]
例子:简单的数组
var alphas; alphas = ["1","2","3","4"] console.log(alphas[0]); console.log(alphas[1]);
输出
1 2
例子: 单语句声明和初始化
var nums = [1,2,3,3] console.log(nums[0]); console.log(nums[1]); console.log(nums[2]); console.log(nums[3]);
输出
1 2 3 3
数组对象
我们还可以使用数组对象创建一个数组。数组构造函数可以作为-
表示数组大小的数值或。
逗号分隔值的列表。
下面的示例使用此方法创建一个数组。
例子
var arr_names = new Array(4) for(var i = 0;i<arr_names.length;i++) { arr_names[i] = i * 2 console.log(arr_names[i]) }
输出
0 2 4 6
例子: 数组构造函数接受逗号分隔的值
var names = new Array("Mary","Tom","Jack","Jill") for(var i = 0;i<names.length;i++) { console.log(names[i]) }
输出
Mary Tom Jack Jill
Javascript数组方法列表:
1.concat():合并两个数组并返回新的合并后的数组
2.every():如果此数组中的每个元素都满足所提供的测试函数,返回true
3.filter():使用此数组的所有元素创建一个新数组,所提供的筛选函数返回true。
4.forEach():遍历数组中每个元素的函数。
5.indexOf():返回数组中指定元素所在的第一个(最小)索引,如果找不到返回-1。
6.join():将数组的所有元素都加入到字符串中。
7.lastIndexOf():返回数组中指定元素的最后一个(最大)索引,如果找不到返回-1。
8.map():创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数。
9.pop():从数组中移除最后一个元素并返回该元素。
10.push():将一个或多个元素添加到数组的末尾,并返回数组的新长度。
11.reduce():对数组的两个值(从左到右)同时应用函数,以将其减少到一个值
12.reduceRight():数组的两个值(从右到左)同时应用一个函数,以将其减少到一个值。
13.reverse():反转数组元素的顺序。
14.shift():从数组中移除第一个元素并返回该元素切片。
15.slice():提取一个数组的一个部分并返回一个新数组。
16.some():如果在此数组中至少有一个元素满足提供的测试函数,返回true。
17.toSource():表示对象的源代码。
18.sort():对数组的元素进行排序。
19.splice():添加或从数组中删除元素。
20.toString():返回表示数组及其元素的字符串。
21.unshift():将一个或多个元素添加到数组,并返回数组的新长度。