概述
1、何为数组?
数组是值的有序集合,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称之为索引。
2、数组的作用
Array数组对象用于在变量中存储多个值
创建数组和存储数据
1.使用数组字面量创建数组
var arr1 = [];//没有存储东西的空数组
var arr2 = [1,2,3];//创建存储1、2、3三个数字的数组
var arr3 = [1,'中国','abc']//创建存储1、'中国'、'abc'三个不同数据类型的数组
2.使用Array构造函数创建数组
var arr4 = new Array(); //创建一个空数组
var arr5 = new Array(10); // 创建一个包含20项的数组
var arr6 = new Array('1','美国','cba'); 创建一个包含三个不同数据类型的数组
索引
第一个数组元素的索引值为 0,第二个索引值为 1,以此类推。
document.write(arr2[0]);//在数组arr2中索引为0的数据 显示结果为1
document.write(arr3[1]);//在数组arr3中索引为1的数据 显示结果为“中国”
数组的长度
每个数组都有一个length属性,length属性值代表数组中元素的个数,其值比数组中最大的索引大一。
arr1.length;// =>0;数组为空没有元素
arr2.length;// =>3;最大索引值得2,数组长度为3
//注意:数组的length属性还可以赋值,而数组的长度会根据length的变化而变化。
循环遍历数组的标准写法
var num =[66,80,90,77,59];
for(var i=0;i<num.length;i++){
document.write(num[i] + "<br>");
}
3、数组原型方法主要有以下这些
1.会改变自身原数组的方法
- sort()
- pop()
- push()
- shift()
- unshift()
- reverse()
- splice()
2.不会改变自身原数组的方法
- concat()
- join()
- slice()
- toString()
- toLocaleString()
- indexOf()
- lastIndexOf()
4、数组原型方法原生标准写法
一、sort()
定义和用法
sort() 方法用于对数组的元素进行排序。
语法
document.write(arr2.sort())// =>1,2,3;把数组进行排序
原生sort()方法标准写法
var arr2 = [1,5,3,4,2,7,6];
function sort(arr) {
for (var i = 0; i < arr.length; i++){
for(var k = 0; k < arr.length; k++){
if(arr[i]>arr[k]){
var a =arr[i];
arr[i]=arr[k];
arr[k]=a
}
}
}
return arr;
}
document.write(sort(arr2));// =>7,6,5,4,3,2,1;
二、pop()
定义和用法
pop() 方法用于删除并返回数组的最后一个元素。
语法
var arr2 = [1,2,3,4,5,6,7];
document.write(arr2.pop());// =>7;删除并返回最后一个
document.write(arr2);// =>1,2,3,4,5,6;刚刚删除了最后一个
原生pop()方法标准写法
var arr2 = [1,2,3,4,5,6,7];
function pop(arr) {
var res = arr[arr.length - 1];
arr.length = arr.length - 1;
return res;
}
document.write(pop(arr2));// =>7;删除并返回数组最后一个元素
三、push()
定义和用法
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
语法
var arr2 = [1,2,3,4,5,6,7];
arr2.push(8,9);//向数组末端添加8,9
document.write(arr2);// =>1,2,3,4,5,6,7,8,9
原生push()方法标准写法
var arr2 = [1,2,3,4,5,6,7];
function push(value){
push[push.length] = value;
return push.length;
}
arr2.push(14);
document.write(arr2);// =>1,2,3,4,5,6,7,14