6.3 数组的常用属性与方法
数组的属性:
Length:
1) 告诉我们数组的长度:数组名.length
2) 通过该属性可以改变数组的长度
数组的常用方法
unshift和Shift
unshift:在数组的头部添加元素,返回值返回的是新
数组的长度
Shift:删除数组头部的元素,返回值是刚刚删除的元素
// (1)unshift/shift
var a =[1,2];// unshift在数组的头部添加元素
a.unshift("a","b");
a.shift();
a.shift();a.shift();// shift在数组的头部,删除元素
alert(a)// 2
indexOf和lastindexOf
indexOf:查找在数组中重复出现的元素第一次出现的位置
lastindexOf:查找在数组中重复出现的元素最后一次出现的位置
// (2)indexOf/lastindexOf
var arr=[10.20,"30","abc",20];
alert(arr.indexOf(10));//0
// indexOf:查找在数组中重复出现的元素第一次的位置
// 找不到返回-1
alert(arr.lastIndexOf(0));// 4
lastindexOf:查找在数组中重复出现的元素最后一次出现的位置,
找不到返回-1 找得到返回下标
push和pop
push:在数组的尾部插入元素,返回值是添加元素后数组的长度
pop:从数组的尾部删除一个元素,返回值是删除的元素
// (3)push/pop
var a =[1,2];// push在数组的头部添加元素
alert(a.push("a","b"));返回值是数组的长度
alert(a.pop());b返回值是刚刚删除的元素
a.pop();a.pop();// pop在数组的尾部,删除元素
slice和splice
slice(开始位置的下标,结束位置的下标)
提取数组中指定连续的子数组,前面包括,后面不包括
splice(开始删除位置的下标,要删除元素的长度,要选择插入或替换的内容)
splice有“剪接”的含义,前面两个参数定义的是“剪”的部分
第三个参数定义的是“接”的部分,经过不同的参数组合,就能实现
以下三个功能:
1、 删除操作,删除数组中指定的任意元素
// (4)slice提取数组中指定联系的子数组
var arr=["a","b","c","d","e","f","g","h"];
alert(arr.slice(0,3));// 前包括,后不包括
alert(arr);// 原数组没有任何变化
brr=arr.slice();// 如果任何参数都不给,默认截取所有
alert(brr);
2、 插入操作,在数组中指定的位置插入元素
// (6)splice
var arr=["苹果","橘子","香蕉","西瓜","桂圆","山楂"];
arr.splice(2,3,"白梨","芋头");
// alert(arr);从索引2开始删除3个元素,然后添加2个新元素
arr.splice(2,2);// 只删除,不添加
// alert(arr);
arr.splice(1,"","烤肠","香肠");// 只添加,不删除
alert(arr)// ps:把正常的索引的第二位空出来,才能添加进数组
3、 替换操作,在数组中替换指定位置的元素
reverse
将数组中的元素,反序输出,在原数的基础上进行反序输出
不会创建新数组的
// (5)reverse
var arr=[1,2,3,4,5,6,7,8,9];
arr.reverse();// 将数组中元素反序输出
alert(arr);// 不会创建新数组,会打乱原数组的排序