数组
概念:计算机内存中一段连续的空间,使用一个变量名来表示
语法:
var arr=newArr(多个数据)
var arr=[多个数据]
基本操作:
访问元素:数组[下标]
设置数组:数组下标=值:
下标存在 修改
下标不存在 新增
删除:delete 数组[下标]:
只能删除数据,不能删除小空间
长度:
求长度:数组.length
设置长度:数组.length=数字
遍历:
写for循环,循环每个元素的下标,条件通常使用数组.length
数组的方法:
🚩数组.push()
给数组末尾添加一个或者多个元素
返回新数组的长度
数组.pop()
将数组的最后一个元素删掉
返回被删掉的元素
🚩数组.unshift(1个或多个元素)
给数组开头添加一个元素
返回新数组的长度
数组.shift()
将数组的第一个元素删掉
返回被删掉的元素
🚩给数组在任意位置添加-删除-修改1个或多个元素
数组.splice(开始下标,删除的元素个数,1个或多个新元素)
返回被删掉的所有元素组成的数组
将一个或多个元素或数组合并成更大的数组
数组.concat(1个或多个元素或数组)
返回一个更大的数组
🚩将数组中元素以指定的连接符连接成一个字符串
数组.join(连接符)
返回字符串
🚩截取数组的一部分
数组.slice(开始下标,结束下标)
返回开始下标到结束下标之间的元素组成的新数组
省略结束下标,默认截取到结尾
省略两个参数,默认从头截到尾
翻转数组
数组.reverse()
返回翻转后的数组
🚩排序数组中的元素
数组.sort()
默认是按照字符串大小升序\
按照数字大小排序
升序:
数组.sort(function(a,b){
return a-b
})
降序:
数组.sort(function(a,b){
return b-a
})
indexOf:查找某个元素在数组中第一次出现的下标
数组.indexOf(元素)
返回找到的下标,找不到就返回-1
数组.indexOf(元素,开始下标) - 从指定的下标开始找-返回找到的下标,找不到就返回-1
注意:他是从左到右找到第一次出现的元素的下标
通常我们会利用这个方法,判断某个元素是否在数组中
lastIndexOf:查找元素在数组中最后一次出现的下标
数组.lastIndexOf(元素)
数组.lastIndexOf(元素,下标) - 将指定下标的元素作为最后一个元素,找元素最后一次出现的下标
forEach方法:遍历数组
语法:
数组.forEach(function(value,index,array){
value代表数中的每个元素,类似于我们通过for循环遍历的arr[a]
index代表每个元素对应的下标,相当于for循环遍历的a
array代表当前正在遍历的数组
})
在遍历的时候通常,我们只会用到具体的元素,不会用到下标和数组本身,所以forEach方法在使用的时候,可以只有value这一个参数,可以省略后面的两个参数
map:将数组中每个元素都通过相同的处理方式得到新的元素,所有新元素组成一个新的数组 并返回
语法:
新的数组=数组.map(function(value,index,array){
return 新的元素
})
filter:将数组中满足指定条件的所有元素组成新的数组并返回
语法:
新数组=数组.filter(function(value,index,array){
return 条件
})
every:判断数组中是否【所有】元素都满足指定条件
语法:
布尔值=数组.every(function(value,index,array){
return 条件
})
some:判断数组中是否【有】满足条件的元素
语法:
布尔值=数组.some(function(value,index,array){
return 条件
})
find:查找数组中第一个满足指定条件的元素
语法:
元素=数组.find(function(value,index,array){
return 条件
})
找到了就返回元素,找不到就返回undefined
findIndex:查找数组中第一个满足指定条件的元素
语法:
下标=数组.findIndex(function(value,index,array){
return 条件
})
找到了就返回元素,找不到就返回-1
reduce:数组求和
语法:
数组.reduce(function(a,b){
return a+b
})