数组

1.基本概念

数组是存储一系列值得变量集合,它是由一个或多个数组元素组成的,各元素之间使用逗号分隔。每个数组元素由下标和值构成。其中下标也可称为索引,以数字表示,默认从0开始依次递增,用于识别元素;值为元素内容,可以是任意类型的数据。


2.创建数组

1.使用Array对象创建数组

var area=new Array('','','');

2.使用[]创建数组

var weather =['',''];



3.数组的基本操作

1.获取数组的长度

length属性:var arr1=[77,1,99];console.log(arr1.length);

2.数组的访问与遍历

1.访问数组元素

要查看数组中某个具体的元素,可以通过“数组名[下标]”的方式获取指定下标的值

var arr1=[77,1,99];console.log(arr1[0]);

2.遍历数组元素

通常情况下,利用下标遍历数组可以使用for或for...in语句

for(variable in object) {...}variable指数组下标,object指变量名称。若object是一个对象,for...in还可以用于对象的遍历。

3.元素的添加与删改

1.添加元素

通过自定义数组元素下标的方式添加元素

var height=[];

height[2]=192;

2.修改元素

修改元素是为已含有值的元素重新赋值

var arr=[‘a’,'b','c','d'];

arr[2]=123;

3.元素的删除

利用delete关键字删除数组元素

delete arr[0]; 



4.常见二维数组的操作 

// 使用Array对象创建数组

var info = new Array(new Array('Tom', 13, 155), new Array('Lucy', 11, 152));var arr= new Array(new Array, new Array); // 空二维数组

// 使用"[]"创建数组var num= [[1, 3], [2, 4]];

var empty = [[], []];// 空二维数组

var arr= [];// 创建一维空数组

//遍历

for(let i = 0; i< 3; ++i)

{arr [i] = []; // 将当前元素设置为数组

arr [i][0] = i; // 为二维数组元素赋值}



5.数组排序


1.冒泡排序

计算机科学领域中较简单的排序算法。实现原理:在冒泡排序的过程中,按照要求从小到大排序或从大到小排序,不断比较数组中相邻两个元素的值,较小或较大的元素前移。

2.插入排序

冒泡排序的优化,是一种直观的简单排序算法。 实现原理:通过构建有序数组元素的存储,对于未排序的数组元素,在已排序的数组中从最后一个元素向第一个元素遍历,找到相应位置并插入。其中,待排序数组的第1个元素会被看作是一个有序的数组,从第2个至最后一个元素会被看作是一个无序数组



6.常见数组方法

1.栈和队列方法

push()将一个或多个元素添加到数组的末尾,并返回数组的新长度。unshift()将一个或多个元素添加到数组的开头,并返回数组的新长度。pop()从数组的末尾移出并返回一个元素,若是空数组则返回undefined。shift()从数组的开头移出并返回一个元素,若是空数组则返回undefined。push()和unshift()方法的返回值是新数组的长度。pop()和shift()方法返回的是移出的数组元素。

2.检索方法

includes()用于确定数组中是否含有某个元素,含有返回true,否则返回false。Array.isArray()用于确定传递的值是否是一个Array,是返回true,不是返回false。indexOf()返回在数组中可以找到给定值的第一个索引,如果不存在,则返回-1lastIndexOf()返回指定元素在数组中的最后一个的索引,如果不存在则返回-1

var data = ['peach', 'pear', 26, '26', 'grape'];// 从数组下标为3的位置开始检索数字26console.log(data.includes(26, 3)); // 输出结果:false// 从数组下标为data.length- 3 的位置查找数字26console.log(data.includes(26, -3)); // 输出结果:true// 判断变量data是否为数组console.log(Array.isArray(data)); // 输出结果:true

3.数组转字符串

join()将数组的所有元素连接到一个字符串中。toString()返回一个字符串,表示指定的数组及其元素。var arr= ['a','b','c'];console.log(arr.join()); // 输出结果:a,b,c

console.log(arr.join(' -')); // 输出结果:a-b-c

console.log(arr.toString());// 输出结果:a,b,c

join()和toString()方法的相同点:可将多维数组转为字符串,默认情况下使用逗号连接。当数组元素为undefined、null或空数组时,对应的元素会被转换为空字符串

join()和toString()方法的不同点:join()方法可以指定连接数组元素的符号。

4.其他方法

sort()对数组的元素进行排序,并返回数组。fill()用一个固定值填充数组中指定下标范围内的全部元素reverse()颠倒数组中元素的位置。splice()对一个数组在指定下标范围内删除或添加元素slice()从一个数组的指定下标范围内拷贝数组元素到一个新数组中。concat()返回一个合并两个或多个数组后的新数组

slice()和concat()方法在执行后返回一个新的数组,不会对原数组产生影响,剩余的方法在执行后皆会原数组产生影响。splice()方法的第1个参数的值等于或大于数组长度时,从数组末尾开始操作;当该值为负数时,则下标位置等于数组长度加上指定的负数,若其值仍为负数,则从数组的开头开始操作。

你可能感兴趣的:(数组)