1.数组的定义
1.构造方法
var new = new Array(11,22,33,44);
2.字面量
var arr = [1,2,3,4];
2.数组元素的访问和遍历
1.数组元素的访问——索引
数组名[下标]
arr[0]---1
arr[1]---2
arr[2]---3
arr[3]---4
下标即数组内元素的索引,注意事项:
- 从0开始
- 下标必须为自然数
- 每两个索引之间相差1
- 下标可以为变量
- 下标不要越界,范围为0~(arr.length-1)
2.数组的遍历——和循环组合使用
var arr = ["第一个元素", 2, 3, 4, 5];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
3.数组的方法API
1.基本方法
1.reverse
功能:反转数组中的元素
参数:无参数
返回值:反转后的数组
var arr = [1, 2, 3];
arr.reverse();
console.log(arr);//值为3,2,1
2.push
功能:尾插
参数:push(参数1,[参数2,参数3...])
返回值:新数组的长度
var fruits = ["香蕉", "苹果", "橘子", "梨"];
var len = fruits.push("哈密瓜");
console.log(fruits);//值为5
console.log(len);
3.pop
功能:尾删
参数:无
返回值:被删除的元素
var arr = [1, 2, 3, 4, 5, 6];
arr.pop();
console.log(arr);//值为6
var x = arr.pop();
console.log(x);//值为5
4.unshift
功能:头插
参数:unshift(参数1,[参数2,参数3...])
返回值:新数组的长度
var arr=[1,2,3,4,5,6];
var x=arr.unshift("嘻嘻");
console.log(arr);//值为"嘻嘻",1,2,3,4,5,6
console.log(x);//值为7
5.shift
功能:头删
参数:无
返回值:被删除的元素
var arr = [1, 2, 3, 4, 5, 6];
var x = arr.shift();
console.log(arr);//值为2,3,4,5,6
console.log(x);//值为6
6.splice
功能:数组删除且替换(不写参数就是纯删)
参数:splice(起始位置,偏移量,[参数1,参数2...])
返回值:被删除的元素
var arr = [1, 2, 3, 4, 5, 6];
//删除从索引号2开始且包含其在内的3个元素,并用"//"代替
var arr1 = arr.splice(2, 3, "//");
console.log(arr);//[1, 2, '//', 6]
console.log(arr1);//[3, 4, 5]——被删除的元素
7.slice
功能:截取数组区间
参数:slice[起始位置,结束位置):左闭右开[初始位置,结束位置)
返回值:被截取的区间
var arr = [1, 2, 3, 4, 5];
var arr1 = arr.slice(1, 3);
console.log(arr1);//2,3
8.concat
功能:数组的拼接,不会改变原数组
参数:concat(新数组)
返回值:新拼接的数组
var arr1 = [1, 2, 3];
var arr2 = [4, 5, 6];
var arr3 = arr2.concat(arr1);
console.log(arr3);//4,5,6,1,2,3
9.join
功能:将数组转为字符串
参数:join([分隔符号]) 默认是逗号
返回值:转换的字符串
var arr = [1, 2, 3, 4, 5, 6];
var str = arr.join("&&");
console.log(typeof str, str);//string 1&&2&&3&&4&&5&&6
2.ES5新增的数组方法
10.indexOf
功能:查找目标元素,找到返回下标,找不到返回-1
参数:indexOf(查找的元素)
返回值:找到返回下标,找不到返回-1
var arr = [6, 5, 7, 4, 8, 3];
console.log(arr.indexOf(18));//返回值为-1
console.log(arr.indexOf(6));//返回值为0
----> 数组的去重
var arr = [2, 2, 3, 4, 9, 5, 5, 8, 7, 2, 3, 0, 9, 4, 5]; var arr1 = []; for (var i = 0; i < arr.length; i++) { if (arr1.indexOf(arr[i]) == -1) { arr1.push(arr[i]); } } console.log(arr1);