十二、数组对象
创建数组对象的两种方式
● 字面量方式
● new Array0
12.1、字面量方式
var arr =[1,2,3];
console.log(arr[0]);
12.2、new Array()
//.利用new Array()
var arr1 = new Array(); //创建了一个空的数组。
var arr1 = new Array(2) ; //这个2表示数组的长度为2里面有2个空的数组元素。
var arr1 = new Array (2, 3); //等价于[2,3] 这样写表示里面有2个数组元素是2和3。
console.log(arr1); //输出2和3.
12.3、检测是否为数组
(1) console .log(需判断参数的名字 instanceof Array);
console .log(arr instanceof Array);
(2)console.log(Arrary.isArray(参数名));(h5新增)
console.log(Arrary.isArray(arr));
12.4、添加和删除数组
方法名 说明 返回值
push(参数1、...) 末尾添加一个或多个元素,注意修改原数组 新的数组长度
unshift(参数1、..) 向数组的开头添加一个或更多元素,(注意修改原数组) 新的长度
pop() 删除数组最后一个元素,把数组长度减1无参数、修改原数组 删除元素的值
shift() 删除数组的第一个元素,数组长度减1无参数、修改原数组 删除元素的值
1. push() 在我们数组的末尾 添加一个或者多个数组元素
var arr = [1, 2, 3];
arr. push(4,5); // arr[3]=4 arr[4]=5
console.log(arr.push(4,'hhhh'));// 输出 5
console .log(arr);
说明:
(1) push是可以给数组后面追加新的元素
(2) push() 参数直接写数组元素就可以了
(3) push完毕之后,返回的结果是新数组的长度
(4) 原数组也会发生变化
2. unshift 在我们数组的开头添加一个或者多个数组元素
console.log(arr . unshift('red', ' purple ' ));
console .log(arr);
说明:
(1) unshift是可以给数组前面追加新的元素
(2) unshift() 参数直接写数组元素就可以了
(3) unshift完毕之后, 返回的结果是 新数组的长度
(4) 原数组也会发生变化
3. pop() 它可以删除数组的最后一个元素
arr.pop();
console.log(arr.pop());
console.log(arr);
说明:
(1) pop是可以删除数组的最后一个元素记住次只能删除个元素。
(2) pop()没有参数。
(3) pop完毕之后,返回的结果是删除的那个元素。
(4) 原数组也会发生变化。
4. shift() 它可以删除数组的第-个元素
arr.shift();
console.log(arr.shift());
console.log(arr);
说明:
(1) shift是可以删除数组的第一个元素 记住一次只能删除个元素。
(2) shift() 没有参数。
(3) shift完毕之后,返回的结果是删除的那个元素。
(4) 原数组也会发生变化。
12.5、数组排序
1、数组翻转reverse( )
var arr = [ 'pink',’red', 'blue'];
arr .reverse( );// 实现翻转
console.log(arr);//输出翻转后的数组
2.数组排序(冒泡排序)
var arr1 =[3, 4, 7, 1];
arr1.sort();// 实现排序(有缺陷)
console.log(arr1);//输出排序后的数组
arr1.sort( function(a, b) {
return a - b; //升序的顺序排列
return b - a; //降序的顺序排列
} ); // 完美写法
12.6、数组索引
var arr =['red’, ’gr een’,'blue’,' pink'];
console.log(arr.indexOf( 'blue' )); //获取当前元素索引号并输出 。
注意:
(1)从第一个数组开始找。
(2)只会返回第一个满足条件的元素的索引号。
(3)如果找不到当前素组元素,返回 -1 。
console. log(arr. lastIndexOf('blue')); //从后面开始查找
12.7、数组转化为字符串
(1)toString() 将数组转换为字符串
var arr = [1,2,3];
console.log(arr.toString()); //1,2,3
(2)join(可以切换分隔符)
var arr1 = [ ‘green’ , ‘blue’ , ‘pink’ ];
console.log(arr1.join()); // green,blue,pink
console.log(arr1.join(‘-’)); // green-blue-pink
console.log(arr1.join(‘&’)); // green&blue&pink