十、js数组
1.什么是数组?
数组是一组数据的集合,每个数据叫做元素。
数组可以将一组相关的数据一起存放在单个变量名下,并提供方便的访问方式。
2.创建数组
(1)使用new关键字创建
①有参数:
var arr = new Array(2)//表示数组中有两个元素,但为空
var arr = new Array(2,3)//表述数组中有两个元素,一个2,一个3
var arry = new Array(参数) //1.有参数表示,其中有几个空元素 //2.无参数,表示仅创建
(2)利用数组字面量创建*
//利用数组字面量创建空数组 var 数组名 = []; //利用数组字面量创建带初始值的数组 var 数组名 = ['小白','小黑'];
3.数组元素的类型
可为:字符串、数字、布尔值等等
4.获取数组中的元素
索引(下标):用于访问数组元素的序号(下标从0开始哦)
- 超出下标没有元素时,会提示undefined
5.遍历数组
遍历:将数组元素从头到尾访问一遍 (注意下标0开始)
6.数组长度获取
获取方式:数组名.length即可访问数组元素的长度=元素的个数
7.数组中新增元素
(1)通过修改length长度
通过修改length长度实现扩容,因为length属性可读写。
数组名.length= 新的长度; //没有值的位置,默认为undefined //再给空的位置赋值即可
(2)通过索引号增加数组元素*
- 下标未被使用--->追加元素
- 下标已被使用--->替换元素
数组名[扩容下标]=新元素 //同python直接新加一个新下标,新元素即可
❗:直接给数组赋值,会将数组元素全覆盖掉!!!!
(3)将一个数组的元素进行筛选,赋值给另一个新数组
其中新数组的下标是0开始,可直接用newArray.length来使其数组下标递增。
8.删除数组指定元素
9.翻转数组
10.冒泡排序*
冒泡排序可以将数据按照顺序
11.数组去重
数组去重即去除原数组中重复的部分,赋值给新数组
【实现思路】:
将旧数组的每一个元素,去查询新数组,如果元素在新数组中没有出现,就添加;反之不添加;
- 该元素是否在新数组中出现:数组名.indexOf(元素);
- 数组名.indexOf(元素),返回数组下标,不存在会返回-1
//1.数组去重 function unique(arr){ //①定义新数组,存放去重后的 var newArr = []; //②遍历旧数组元素 for( var i = 0; i < arr.length;i++ ){ //③如果新数组中没有 if( newArr.indexOf(arr[i]) === -1){ //④就追加到新数组中 newArr.push(arr[i]); } } return newArr; } var arr = ['ren','red','red','blue','blue','blue']; alert(unique(arr));