1.数组
存储一系列有序数据的集合
1.数组创建
(1)创建数组
var arr1 =new Array() //创建一个空数组
var arr2 = new Array(10)//创建一个长度为10的数组
var arr3=new Array(1,2,3)//创建一个有内容的数组
var arr=[1,2,3,4]//创建数组
(2)数组的长度
length 就是表示数组的长度,数组里面有多少个成员
(3)数组的索引
索引,也叫做下标,是指一个数据在数组里面排在第几个的位置
2.遍历数组
var arr=[1,2,3,4]//创建数组
for(var i=0;i<arr.length;i++){//使用for循环遍历数组
console.log(arr[i])
}
2.数据类型之间存储的区别
我们的存储空间分成两种 栈 和 堆:
栈: 主要存储基本数据类型的内容
堆: 主要存储复杂数据类型的内容
数据类型之间的比较:
基本数据类型是 值 之间的比较
复杂数据类型是地址 之间的比较
基本数据类型和复杂数据类型的区别:
复杂数据类型,变量存储的是地址,真实内容在 堆空间 内存储
3.数组常用的方法
push 是用来在数组的末尾追加一个元素
pop 是用来删除数组末尾的一个元素
unshift 是在数组的最前面添加一个元素
shift 是删除数组最前面的一个元素
splice 是截取数组中的某些内容,按照数组的索引来截取
reverse 是用来反转数组使用的
sort 是用来给数组排序的
join 是把数组里面的每一项内容链接起来,变成一个字符串,将数组元素按照指定字符拼接字符串
indexof用来找到数组中某—项的索引=>参数:数组元素=>返回值:数组存在,返回索引号;元素不存在返回-1
includes 检查数组是否包数组元素=>参数:数组元素=>返回值:数存在,返回true,不存在,返回flase
4.数组遍历方法
1.forEach
arr.forEach(function(item,index,arr){
//item;数组元素
//index;索引号
//arr;原数组
})
2.map
var newArr =arr.map(function(item,index,arr){
//item;数组元素
//index;索引号
//arr;原数组
return item+10
})
console.log(newArr)//[11,12,13]返回一个新的数组
3.filter
var arr=[1,2,3]
//使用filter过滤数组
var newArr =arr.filter(function(item,index,arr){
//item;数组元素
//index;索引号
//arr;原数组
return item>1
})
console.log(newArr)//[2,3]返回满足条件的的项组成的新数组
4.find
var arr=[1,2,3]
var newArr =arr.find(function(item,index,arr){
//item;数组元素
//index;索引号
//arr;原数组
return item>1
})
console.log(newArr)//[2],返回数组第一个满足条件的项
5.every
var arr=[1,2,3]
var newArr =arr.every(function(item,index,arr){
//item;数组元素
//index;索引号
//arr;原数组
return item>1
})
console.log(newArr)//flase
数组中是否每个元素都满足指定的条件, 全部满足返回true
其中一个不满足返回flase
6.some
var arr=[1,2,3]
var newArr =arr.some(function(item,index,arr){
//item;数组元素
//index;索引号
//arr;原数组
return item>1
})
console.log(newArr)//true
some:数组中是否有元素满足指定的条件,只要有一个满足返回true,一个都没有返回flase
7.reduce
var arr=[1,2,3]
var sum =arr.some(function(s,item,index){
//item;数组元素
//index;索引号
return s+item
},0)
console.log(sum)//6,计算数组的总和
reduce() 方法接收一个方法作为累加器,数组中的每个值(从左至右) 开始合并,最终为一个值。