Javascript 数组

数组也是一个对象,浏览器的内置对象。数组是值的有序集合,每一个值叫做一个元素,每个元素在数组中都有一个位置,用数字来表示,这个数字叫做索引。(从0开始计数)。数组中可以放任意数据类型的元素。

//创建数组
var arr = new Array();   
var arr1 = [2,3,45,6];                   //两种方法都可以
var arr2 = [2,'string',true,{name:Bob},[5,6,7,8]]   //可以是任意类型的元素

数组元素的读和写
使用[]来访问数组中的元素,方括号里面是元素的索引值。
读语法:arr[0];
写语法:arr[1] = 30;

var arr = [2,4,5,7];
console.log(arr[0])   //2
arr[4] = 10;
console.log(arr)   //2,4,5,7,10

获取数组的长度,用length属性,返回元素的个数:
语法: arr.length

console.log(arr.length)    //5

向数组的最后一位添加元素,用arr[arr.length]语法。

arr[arr.length] = 20;    //2,4,5,7,10,20 

还可以使用push()方法,该方法可以向数组中添加一个或多个元素(可以是任意数据类型),并返回数组的新长度。

var arr = [3,5,true]
arr.push('string',4,5)              // 3,5,true,string,4,5

pop()方法,该方法可以删除数组的最后一个元素,并将被删除的元素返回。

arr.pop()        //5

unshift() 方法,可以向数组的开头添加一个或多个元素,并返回新的数组长度。

arr.unshift(1,2)      //1,2,3,5,true,string,4

shift()方法,可以删除数组的第一个元素,并将被删除的元素返回。

arr.shift()        //1

数组遍历除了可以使用for循环,还可以使用forEach()方法。forEach()方法需要一个函数作为参数。这个函数称为回调函数。使用forEach()方法遍历数组时,数组中有几个元素函数就会执行几次,每次执行时,浏览器会将遍历到的数组元素以实参的形式传递进来,可以在函数中定义形参来读取这些数组元素。
浏览器会在回调函数中传递三个参数:
第一个参数就是当前正在遍历的数组元素 。
第二个参数就是当前正在遍历的数组的索引值。
第三个参数就是当前正在遍历的数组。

var arr = [2,3,5,true,string,4]
arr.forEach(function(element, index,arrObj){
	console.log(element)  //2,3,5,true,string,4
})

数组中的一些常用方法:
sort()方法将数组中的元素排序并返回排序后的数组。当不带参数调用sort()时,数组元素按照字母表顺序排序。

var arr = ['orange','grape','apple'];
alert(arr.sort());    //apple,grape,orange

还有一种用数值的大小来排序,这时候就需要给sort()方法传递一个比较函数。该函数决定了它的两个参数在排序数组中的先后顺序。
如果return返回值大于0,则元素会交换位置;
如果return返回值小于0,则元素位置不变;
如果return返回值等于0,则元素也不会交换位置;
如果需要升序排列,则返回 a-b;
如果需要降序排解,则返回b-a;

var numArr = [33,4,22,5,66,111];
numArr.sort(function(a,b){
	return a-b;
});            //4,5,22,33,66,111

reverse()方法将数组中的元素颠倒顺序,返回逆序的数组,和sort()方法相反。

numArr.reverse();            //111,66,33,22,5,4

slice()方法可以用来从数组中提取指定元素。该方法不会改变原数组,而是将提取的元素放到一个新的数组中返回。参数可以是一个也可以是两个还可以是负数。(负数就是从后往前计算)

var arr = [1,2,3,4,5];
arr.slice(0,2);  // [1,2]
arr.slice(3);     //[4,5]
arr.slice(1,-2)    //[2,3]    -2代表从数组的最后一位开始的第二个参数也就是4

splice()方法可以用来在数组中插入或者删除元素。该方法会改变原来的数组,这也是与slice()的区别。
参数可以有一个俩个或者三个或三个以上。
第一个参数表示开始位置的索引
第二个参数表示要删除的数量
第三个参数表示要添加的新元素

var arr = [1,2,3,4,5]
console.log(arr.splice(1));   //2,3,4,5   返回的是已删除的元素
console.log(arr.splice(1,2));   //2,3
console.log(arr.splice(1,2,10));   //2,3  //这里的10是新增元素,原来的数组变为1,10,4,5

concat()方法可以连接两个或多个数组并返回新的数组。

var arr1= [1,2];
var arr2 =[3,4];
console.log(arr1.concat(arr2));  //[1,2,3,4]

join()方法可以将数组转换为一个字符串作为结果返回。
在join()方法中可以指定一个字符串组为参数,这个字符串将会成为数组元素的连接符。

var arr = [1,2,3,4,5]
console.log(arr.join());  //1,2,3,4,5   默认的连接符为, 可以自定义连接符
console.log(arr.join('-')); //1-2-3-4-5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值