JS学习总结3 数组

数组

数组用于在单个变量中存储多个值

1.创建数组

let arr=[]					空数组
let arr2 =new Array();		空数组
let arr3 =new Array(10)		包含10个未定义元素的数组
let arr4 =new Array(1,2)	包含12两个元素的数组

2.访问数组

let arr=[1,2,3]'
通过下标
arr[0]      //输出1
为数组赋值
arr[0]=2	//输出[2,2,3]

3.辨别数组

let arr=[]
console.log(`
typeof: ${typeof(arr)}
isArray: ${Array.isArray(arr)}
instanceof: ${arr instanceof Array}
`);

//输出
typeof: object
isArray: true
instanceof: true

可以看到数组用typeof返回的值是Object
所以要用其他方法分辨

方案1
可以使用 Array.isArray(array)
方案2
array instanceof Array

4.数组方法

1. push,unshift,splice,直接赋值添加(更改原数组)

为数组添加元素
let arr=[1,2,3,4]
//push()为数组最后添加元素 	多个参数以,隔开可以给数组添加多个元素  返回新数组的长度
arr.push("push")	

//unshift()为数组开头添加元素   多个参数以,隔开可以给数组添加多个元素  返回新数组的长度
arr.unshift("unshift")
console.log(arr);   //输出['unshift', 1, 2, 3, 4, 'push']

//splice(参数1,参数2,...参数3) 从参数1开始,删除参数2个元素,参数3可以有多个参数一次添加
arr.splice(0,0,254,6,2)//从0位开始删除0个,并且添加254,6,2三个元素
		console.log(arr); //[254, 6, 2, 'unshift', 1, 2, 3, 4, 'push']
		
//直接赋值 最好不用,如果按顺序不出问题,如果给超出数组长度2位和以上的下标赋值,超出多少位就会出现多少空元素
arr[6]=5	
console.log(arr);	//['unshift', 1, 2, 3, 4, 'push', 5]
arr[9]=6
console.log(arr);	//['unshift', 1, 2, 3, 4, 'push', 5, 空白,空白, 6]

2.删除 pop,shift,splice(更改原数组)

array.pop();//删除最后一个元素,并返回该元素 
array.shift();//删除第一个元素,数组元素位置自动前移,返回该元素 
array.splice(参数1,参数2);//从参数1开始,删除参数2个元素
与添加用法一致

//delete array[index]		虽然可以删除 但是会留下空元素,如下图,挺诡异的
delete arr[0]

在这里插入图片描述

3.翻转数组reverse(更改原数组)

reverse()让数组顺序反转

		console.log(arr) //输出[254, 6, 2, 'unshift', 1, 2, 3, 4, 'push']
		arr.reverse()
		console.log(arr) //输出['push', 4, 3, 2, 1, 'unshift', 2, 6, 254]

4.数组排序sort(更改原数组)

sort 默认排序 正序

		let arr=[1,5,3,2]
		let arr2=["21","3"]
		console.log(arr.sort())	输出[1, 2, 3, 5]
		console.log(arr2.sort()) 输出['21', '3']	
但是字符串只看第一位大小,所以可以通过函数
console.log(arr2.sort(function(a,b){return a-b})) 输出['3', '21']


5.截取数组部分slice(不更改原数组)

		let arr=[1,2,3,4,5,6]
		let sliceArr = arr.slice(1, 4);
		console.log(sliceArr);//输出 [2, 3, 4]

6.拼接数组(concat,… 不更改原始数组)

		let arr=[1,2]
		let arr2=[3,4]
		//concat()可以传入多个数组拼接
		let concatArr=arr.concat(arr2)
		console.log(concatArr); //[1, 2, 3, 4]
		//... Es6的新写法
		console.log([...arr,...arr2]);//[1, 2, 3, 4] 

7.控制台特别的输出数组方法 console.table()

		let arr=[1,2,3,4,5,6]
		console.table(arr)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值