slice:按指定位置截取复制数组的内容
arr slice(从什么位置开始,到什么位置之前结束)
var arr1=arr.slice(1,4)
从第一位开始,截取到第四位
var arr1=arr.slice(-2)
可以为负值,从倒数第二位开始截取到尾部
arr1=arr.slice(-3,-1)
从倒数第三个开始截取到倒数第一个
只写一个参数,默认到尾部
indexof:(要找的元素,从第几个下标开始)
var arr=[1,2,3,4,5,6]
var index=indexof(4)
console.log(index)
在数组中查找元素4,如果找到返回该元素所在的下标,如果没有找到则返回-1.
lastindexof(查找的元素,从什么位置开始)
lastindexof:从后面向前查找
数组遍历 arr forEach(function(数组的元素,每个元素对应的下标,数组自身){
})
使用forEach可以跳过空元素
数组遍历 arr map(function(itme,index,arr)){
}
效果于forEach一样,不同的是map会返回一个和原数组长度相等的新数组。
在map使用return,就是在对应的下标中添加对应的数据
forEach使用return无效
排序
按顺序排列,从小到大或者从大到小。
排序算法
时间复杂度:算法计算花费时间越少,时间复杂度越小
空间复杂度:算法计算需要花费的时间越多,代表空间复杂度越高。
数字排序
var arr=【1,3,5,2,4,6,7】
arr.sort(function(a,b){
return a-b 从小到大
return b-a 从大到小 此方法仅适用于排序数字
})
console.log(arr)
英文排序
var arr=【a,b,f,d,s,c,x,】
arr.sort(function(a,b){
return b.chrCodeAt(0)-a.chrCodeAt(0)
})
随机乱序
var arr=【1,2,3,4,5,6,7】
arr.sort(function(){
return Math.random()-0.5;
})
console.log(arr);
some
查找数组中是否有满足条件的元素,如果有就返回true,如果没有就返回false,遍历数组,如果有一个满足条件的元素, 都会直接返回true,不继续向后遍历。
var arr=【1,3,5,6,87,89,5,3】
arr.every(function(itme,index,arr){
return item>2;
})
console.log(bool);
every
判断数组中是否每一个都满足条件,如果有一个不满足条件,直接跳出,否则的话,所有都满足时返回为true。
var arr=【1,3,5,6,87,89,5,3】
arr.some(function(itme,index,arr){
return item>2;
})
console.log(bool);