数组的基础知识

数组

一组数据可以存放多个数据类型,但一般建议存放一组相同的数据类型

可以容纳多个数据,如果数组内没有数据就是空数组

定义:

​ 其实也是一个对象(只是对应的数据结构不同)

使用:
1,使用new关键词 Array()
var arry = new Array();//声明空数组
//length	数组的长度	也是里面容纳的数据的个数
console.log(arry.length);//0
var arry2 = new Array(3)//指定数组的长度
console.log(arry2.length);//3
var arry3 = new Array(1,2,3)//指定数组的长度
console.log(arry3.length);//3

//数组除了具有length属性外,还具有下标,可以通过下标来指定对应的元素(进行赋值以及获取)
console.log(arry3[0]);//获取arry3的第一个元素,打印
arry3[1]=12;//给第二个元素赋值
console.log(arry3[3]);//undefined	数组下标超出了	

2,使用[]来直接赋值定义
var arry4=['a','b',4]
arry4[2] = 'd';//对arry4的第三个元素进行赋值
var arry5=[]//定义一个空数组
arry5.length = 4//给arry5的长度赋值

增删改查

变量是一个容器,数组也是一个容器,可以装数据的统称位容器,只要是容器都存在增删改查的方法

数组增删改查方法
//push	增加到后面,最好是同类型数据,返回长度
var arry1 = ['a']
arry1.push('b')
console.log(arry1);
console.log(arry1.push('b'));
//unshift	增加到前面,返回长度
arry1.unshift = ['c']
//pop	删除最后一个,返回被删除的元素
arry1.pop()
console.log(arry1.pop());
//shift	删除第一个,返回被删除的元素
arry1.shift()
sort排序与reverse反转

​ sort方法默认(无参的方式)按照ASCII码进行比较 对应的顺序为从小到大,返回值为排序好的数组,里面可以指定参数function(){},这里面有两个参数a,b(可以是其他形参),return a-b就是正序,b-a就是倒序

var arr = ['a','c','b','d']
arr.sort()//排序	'a','b','c','d'
arr.reverse()//反转	将数组元素全倒过来	返回值为倒转后的数组

var arr1 = [15,70,3,6,8,7]
arr1.sort()15,3,6,7,70,8	默认用ASCII码排序(如果是数值会自动转换为string,只取第一位)
var arr2= arr1.sort()//	这样的情况下arr2与arr1全相等,改变其中一个,另一个也变
arr1.sort(function(a,b){
    return a - b //正序
})
arr1.sort(function(a,b){
    return b - a //倒序
})
concat合并/连接

​ concat进行数组合并操作,对应的返回值为一个新的数组,参数可以是一个数组,也可以是单个元素

​ 不改变原本的数组

var arr2 = [1, 3, 4, 5]
var arr3 = [5, 6, 7, 8]
var newArr = arr2.concat(arr3)//括号里的也可以是单个元素
console.log(arr2); //1,3,4,5
console.log(newArr); //1,3,4,5,5,6,7,8
slice截取

​ slice截取对应数组的某一段内容,组成一个新的数组,返回这个新的数组,参数为开始截取的下标和结束下标(结束下标不截取)

​ 不会改变原来的数组

var arr = [1,2,3,4,5]
var sliceArr = arr.slice(1, 3) // 不包括结束下标
        console.log(sliceArr); //2,3    
        console.log(arr.slice(arr.length - 1, arr.length)); //5 截取最后一个
join链接

​ 连接成字符串,返回值为strng

​ 不会影响原本的数组

var arr5 = [1, 2, 3, 'a']
var str = arr5.join('/') //如果join()里面不写,默认join(',')
console.log(str);// 1/2/3/a
splice删除,替换,插入

​ 返回的是删除的数组

​ 会改变原来的数组

var arr = [1,2,3,4,5]
var newArr = arr.splice(0,2)//从0下标开始删除,删除两个,如果()里只有一个参数,那就从这个参数下标开始删到最后
console.log(newArr);//1,2
console.log(arr);//3,4,5

//将删除的位置数据替换
var arr1 = [1,2,3,4,5]
var newArr1 = arr1.splice(0,2,6,7)
console.log(newArr1);//1,2
console.log(arr1);//6,7,3,4,5

//插入元素
var arr2 = [1,2,3,4,5]
var newArr2 = arr2.splice(0,0,6,7)
console.log(newArr2);//[]
console.log(arr2);//6,7,1,2,3,4,5
找对应值的下标

​ 找到了返回对应值第一次出现的下标,找不到返回-1

var arr4 = [1, 1, 2, 3, 4, 1]
//indexOf	从前往后找
console.log(arr4.indexOf(1)); //0	默认从下标0开始找
console.log(arr4.indexOf(1, 2)); //5
console.log(arr4.indexOf(1, 8)); //-1
//lastIndexOf   从后往前找
console.log(arr4.lastIndexOf(1)); //5	默认从最后开始找
 console.log(arr4.lastIndexOf(1, 0)); //0

数组遍历

//一般数组遍历使用循环遍历	一般使用for循环
var arry = [10,2,3,6];
for(var i = 0;i <arry.length;i++){
    console.log(arry[i]);
}
//for in 遍历
for(var i in arry){	``//i为下标
    console.log(arry[i])	//利用下标取出对应的值进行打印
}

//用遍历求数组最大或最小之类的引用一个额外的变量,且变量赋值

​ 只能用添加到后面和删减后面 push pop

队列

​ 添加到前面和删减前面 unshift shift 添加到后面 push

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值