Javascript教程三——数组

3、数组

JavaScript的Array可以包含任意数据类型,并通过索引来访问每个元素。
要取得Array的长度,直接访问length属性

Array.length;

Array可以通过索引把对应的元素修改为新的值,因此,对 Array 的索引进行赋值会直接修改这个Array。

arr = [1,2,3];
arr[0] = 4;
alert(arr); // [4,2,3]

3.1 indexOf

Array也可以通过 indexOf() 来搜索一个指定的元素的位置,如果存在便返回 index ,否则返回的便是-1,这个函数可以帮助判断一个数组里面是否包含某个数据。

arr.indexOf(4);  // 0
// 用来帮助判断数组是否存在重复元素
// 注意,map()方法是对数组中的每个val执行相应的回调函数
arr.map(item => {
	return arr.indexOf(item) === item.index ? true : false;
})

3.2 slice

slice()就是对应 String 的 substring() 版本,它截取Array的部分元素,然后返回一个新的Array。

arr.slice(0,2); // 从索引0开始,到索引2结束,但不包括索引2: [4,2]

3.3 push 和 pop

push() 向Array的末尾添加若干元素,pop() 则把Array的最后一个元素删除掉。

arr.push(5); // [4,2,3,5]
arr.pop(); // [4,2,3]

3.4 unshift 和 shift

往 Array 的头部添加若干元素,使用 unshift() 方法, shift() 方法则把 Array 的第一个元素删。

arr.unshift(6); // [6,4,2,3]
arr.shift(); // [4,2,3]

3.5 sort

sort() 可以对当前Array进行排序,它会直接修改当前Array的元素位置,数组在原数组上进行排序,不生成副本

arr.sort(); [2,3,4]

注意:数组的 sort 比较的时是按照ASCII码,所以对于两位数以上的数字排序,就会比较第一位的ASCII码,就会出错,所以一般使用 sort 进行排序时,都需要重写函数。

arr.sort((a,b) => {
	return a-b;  // 从小到大
	return b-a; // 从大到小
})

3.6 reverse

reverse()把整个Array的元素反转,特别适用于颠倒数组(字符串也行,只不过需要把字符串先用 split 转换成数组)

arr.reverse(); // [4,3,2]

3.7 splice

splice()函数可以同时删除、增加

arr.splice(0,1,6,7); // 从索引0开始删除一个元素,增加6、7元素  [3,2,6,7]

3.8 concat

concat()方法把当前的Array和另一个Array连接起来,并返回一个新的Array

var arr2 = arr.concat([8,9]); // [3,2,6,7,8,9]

concat()方法并没有修改当前Array,而是返回了一个新的Array

3.9 join

把当前 Array 的每个元素都用指定的字符串连接起来,用来将字符数组转换成字符串。

arr.join('+'); // '3+2+6+7+8+9'
arr.join(''); // '326789'

3.10 fill

fill用于初始化数组的填充

let arr = new Array(10).fill(0); // [0,0,0,0,0,0,0,0,0,0]

3.11 Array.from

用于类数组类型向数组的转换

let arr = Array.from(); // 将 set / string / map 转换成 数组

二维数组

let arr = [[1,2,3],[4,5,6],[7,8,9];
arr.length  // 二维数组的行数   i
arr[0].length // 二维数组的列数  j

本文来源廖雪峰老师教程的笔记,有疑惑可以直接访问廖雪峰老师教程:https://www.liaoxuefeng.com/wiki/1022910821149312/1023022043494624

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值