数组对象
数组:是一个可以存储大量数据的容器。数组中可以存放任意的数据类型的数据
1.声明方式:
- 字面量形式声明 []
- 通过构造函数来声明
- new Array(10,20,100,300) 定义数组同时即初始化
- new Array(2); //定义一个长度为2的数组
2.数组的属性和特点:
length:数组中元素的个数 长度
特点:
- 根据索引取值和赋值
- 数组不限制长度 (长度是可变的)
- 数组的内容不限制类型
可以使用for循环来对数组进行遍历
3.数组的栈方法
- push() 向数组的末尾添加元素
- push(item)
- push(item,item,…) 一次性向末尾添加多个元素
- pop() 删除数组末尾的元素(删除一个)
其它的方法:
- shift() 删除数组的头部元素
- unshift() 在数组的头部插入元素
- unshift(item) 插入一个元素
- unshift(item,item…) 一次性在头部插入多个元素
4.数组删除、替换、添加方法
splice() 返回值为删除的元素(类型:数组)
- splice(index,howmany) 从index开始,删除指定个数的元素
- splice(index,howmany,item,item,…) 从index开始,删除若干的元素,并且在index位置添加元素
arr.splice(1,3);//从1开始,删除3个元素
arr.splice(1,1,'hello');//替换
arr.splice(1,0,'hello','world');//添加内容
5.排序
1)冒泡排序
原理:从第一个元素开始,相邻的两个元素作比较,若前一个比后一个大,则交换位置。第一轮比较结束之后,最大的元素就被排到了最后面。以后的每一轮都会把最大的元素排到后面。
2)sort
sort默认情况下,是按照字符串进行排序(ASCII码来排序的)。
若要不使用ASCII码排序这种方式,则需要自己实现排序算法。可以在sort方法中实现一个排序函数即可。
arr.sort(function(a,b){
return a-b;//升序
//return b-a;//降序
});
6.数组的其它方法
- indexOf() 获取元素在数组中的位置 找不到 -1
- join() 使用指定字符将数组拼接成字符串
- reverse() 倒叙
- concat() 拼接数组(一个或多个)
- isArray() 是否为数组
- Array.isArray()
7.数组的迭代方法
数组的迭代方法。迭代就是循环/遍历的意思
这些方法都能实现数组的遍历。(IE8之上的浏览器)
- forEach() 遍历
- some() 若数组中有元素满足条件,则返回true,若都不满足,则返回false
- every() 若数组所有元素都满足条件,则返回true,否则返回false
- filter() 过滤数组中满足条件的元素,组成新数组返回
- map() 对数组元素进行处理,将处理结果组成新数组返回
//item 数组的元素 index 索引 arr0 数组自身
var rst = arr.some(function (item, index, arr0) {
// console.log(item, index, arr0);
// return item < 60;
return item > 80
});
//every
var rst=arr.every(function(item,index){
return item>60;
});
//filter
var arr0 = arr.filter(function (item, index) {//过滤
// return item > 80;//成绩大于80
return item<60;
});
//map
var arr0 = arr.map(function (item, index) {
// return item + 5;
return item % 2;
});