数组的定义:
数组即一组数据,可以存放多个数据类型(一般情况下是相同类型的数据)
数组可以容纳多个数据,如果数组里面没有数据就是一个空数组
定义一个数组:
//数组的类型是object
//1.使用new关键字定义
var arr = new Array();//声明一个空数组
var arr2 = new Array(3);//指定数组长度
var arr3 = new Array(1,2,3);//指定数组内的数据
//数组属性:length,下标
//2.使用[]直接进行定义
var arr = [];//声明一个空数组
var arr3 = [1,2,3];//指定数组内的数据
var arr0 = []
arr.length = 4
console.log(arr);//[空属性 × 4]
console.log(arr[1]);//undefined
数组的使用(容器都会有增删改查的方法)
//增加
//push
//数组内增加数据,添加到数组后面
var arr = new Array('a')
console.log(arr);//a
arr.push('b');// 2 里面的类型为当前数组里面存储的类型的数据,并返回新的数组长度
//unshift
//插入一个数据到前面,并返回新的数组长度
var arr = new Array('a')
console.log(arr);//a
arr.unshift('c');//2 里面的类型为当前数组里面存储的类型的数据,并返回新的数组长度
var drink = ['矿泉水']
drink.push('旺仔牛奶')
drink.unshift('红牛')
console.log(drink[drink.length-1]);//'旺仔牛奶'
//删除
//pop
//删除最后一个元素,返回被删除的元素
var arr = new Array(10,20,30)
arr.pop();
//shift
//删除第一个元素,返回被删除的元素
var arr = new Array(10,20,30)
arr.shift();
数组的遍历:
//数组的遍历
//一般数组使用循环遍历,一般使用for循环
for(var i = 0 ; i< arr.length;i++){//普通for遍历数组
}
for(var index in arr){//加强for 一般用来数组遍历或者对象
}
数组的排序:
//数组的排序
var arr = new Array
//arr.reverse()//反转,将数组元素全倒过来
//会影响之前的数组,没有参数,返回值为倒转过来的数组
var strArr = arr.reverse()
//arr.sort//排序,默认从小到大(根据ascii码进行比较,如果是数值会自动转换为string,只取第一位)
//返回值为排序后的数组
//指定比较的方法进行比较
arr.sort(funciton(a,b){
return a-b//正序 1
return b-a//倒序 -1
}
数组的简单方法:
//数组的连接和截取
//arr.concat 进行数组合并 返回一个新的数组 不改变原本的数组
//传入的参数,是一个数组,也可以是单个元素
//arr.slice 截取对应数组的某一段内容组成一个新的数组,返回新的数组,不会改变原本的数组
//参数为开始下标和结束下标(不包含)
//join连接 连接成字符串 返回值为string
//不会影响之前的数组
arr.join(',')
//连接数组中的元素, 并返回连接后的字符串, 不传参则以逗号连接
//arr.splice
//删除(开始下标,个数)//删除的个数可以被省略,表示从开始位置到最后位置全部删除
arr.splice(0,2)//删除下标为1,2的元素,并返回一个包含这些元素的数组//会改变之前的数组
//替换
arr.splice(0,2,'1','2')//替换两个数据
//增加
arr.splice(0,0,'1','2')//在下标为0 的位置插入数据
//查找 根据对应的值找下标
//arr.indexOf();//找元素第一次出现的位置,默认从下标为0 的位置开始找,找到返回下标,找不到,返回-1
//arr.lastIndexOf();找元素最后一次出现的位置,默认从下标为arr.length-1 的位置开始找,找到返回下标,找不到,返回-1