数组:有许多变量的集合,它们的名称和数据类型都是一致的。
定义 操作(添加修改)
Var arr=new Array(); Var arr=[ ]; //定义 Var arr1=[ 1,2,3,4]; //定义并赋值
数组元素:数组里面的每一个值
数组下标(索引):指明数组元素在数组中的位置(从0开始)
数组长度:数组元素的个数 arr1.length 有返回值,返回值为数组长度
例:
arr arr=[ 1,2,3,4];//定义一个数组 console.log(arr[0]) //输出数组下标为0的数,结果为1 console.log(arr.length) //输出数组的长度,结果为4
数组的遍历
沿着一定的顺序对数组内部的元素做一次且仅做一次访问,就是遍历。
例:给定义数组的每一项加上123
var arr=['a','b','c'];//定义一个数组 for (var i=0;i<arr.length;++i){ arr[i]=arr[i]+123; }
一维数组:就是一个数组
var arr=[];
二维数组:将一个完整的数组作为另一个数组的数组元素
var arr[] //定义一个数组 arr.push([123,123,123]);//将一个完整的数组添加到数组中 arr.push([234,234,234]);//再添加一个完整的数组
结果为:
[ [123,123,123], [234,234,234] ]
提取二维数组的数:arr[0][1]
第一个是外数组的索引,第二个是内数组的索引
多维数组:嵌套多个数组
数组的用法:
join()//数组转字符串,原数组不变 push()和pop()//末尾的添加、删除 shift() 和 unshift()//第一个元素的添加上相互 sort()//排序 1324=>1234 reverse()//翻转 1234=>4321 concat()//链接数组 slice()//删除指定位置的元素 splice()//删除指定位置的元素 indexOf()和 lastIndexOf() //查找元素第一次出现的位置 返回下标 indexOf从第一个查 lastIndexOf从最后一个查
split()//以()为区分,变成数组。
数组例题:
//题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 var arr1 = prompt("输入数组,以,分隔"); var arr1 = arr1.split(','); //以逗号区分,建立数组 console.log(arr1); var arr = arr1.map(Number); //将数组变为数字数组 var max = arr[0]; var min = arr[0]; for (var i = 0; i <= arr.length; ++i) { if (max < arr[i]) { max = arr[i]; var a = i; } } for (var i = 0; i <= arr.length; ++i) { if (min > arr[i]) { min = arr[i]; var b = i; } } arr[a] = arr[0]; arr[0] = max; arr[b] = arr[arr.length - 1]; arr[arr.length - 1] = min; console.log(arr);
将数组变为数字数组可以在数组元素前加“+”,
for (var i = 0; i <= arr.length; ++i) { if (max < +arr[i]) { max = arr[i]; var a = i; }