数组的排序方法

1.数组的方法

1.1reverse() 方法

reverse() 会影响之前的数组 没有参数 返回值为倒过来的数组

strArr 和 arr俩个其实指向的是一个变量所以操作 strArr会影响arr操作arr也会影响strArr

 var arr = ["a","b","c","d"]
 var strArr = arr.reverse()
 console.log(strArr);
 console.log(strArr==arr);//true
 console.log(strArr===arr);//true

返回的值为[“d”,“c”,“b”,“a”]

1.2sort() 方法

sort() 排序 默认为从小到大默认排序方式是根据ascii码如果是数值会自动转换为string 只取第一位

sort(方法默认(无参的方式)按照ascii码进行比较对应的顺序为从小到大返回值为排序好的数组

里面可以指定参数参数是一个function这个里面有俩个参数a b 如果是返回为 a-b 为1就是正序

相反如果返回 b-a 就是-1那就是倒序

var arr2 =[15,67,3,4,7,5]
console.log(arr2.sort());
//返回的值为[15,3,4,5,67,7]
arr.sort(function(a,b)){
	return a-b //1返回的是1 1就是正序 a-b -1就是倒序b-a
}

arr.sort(function(a,b)){
	return b-a //1返回的是1 1就是正序 a-b -1就是倒序b-a
}
1.3concat()连接方法

concat进行数组合并操作对应的返回值为一个新的数组不改变原本的数组//传入的参数是一个数组也可以是单个元素连接到后面

1.4slice()截取方法

截取方法 slice截取对应数组的某一段内容组成一个新的数组返回的是一个新的数组//不会改变原本的数组参数为开始下标和结束下标(不包含结束的下标),包头不包尾

 var arr1 = ["5",6,7,8] 
 var sliceArr = arr1.slice(0,2)//截取的不包含最后一个下标 
 console.log(sliceArr); "5",6
 console.log(arr1.slice(length-1,arr1.length));8
1.5 join()方法
var arr = [1,2,3,4]
console.log(arr.join("*"));//1*2*3*4
console.log(arr.join());//默认值为,join()=join(",")//1,2,3,4
console.log(arr.join(""));//1234
1.6 splice()方法

会改变之前的数组

var arr =[1,2,3,4,5]
var newArr = arr.splice(2)
console.log(newArr);//返回删除的数组[3,4,5]
var arr2 =[1,2,3,4,5]
var newArr1 = arr2.splice(2,2)
console.log(newArr1);//返回删除指定下标的数组[3,4]
var arr3 =[1,2,3,4,5]
var newArr2 = arr3.splice(2,2,10,9)
console.log(arr3);//删除 3,4 添加10,9
var arr4 =[1,4,3,2,5]
var newArr3 = arr4.splice(2,0,10)
console.log(arr4);//不删除元素,添加10到第二个元素的后面

如果是1个参数那么就是从这个指定的参数下标删到结束

如果是2个参数那么就是从指定的参数下标位置删对应的指定个数

如果是3个参数或者以上的参数那么就是从指定的参数下标位置删对应的指定个数再将后面的数据填入对应的删除位置

如果第2个参数为0那么返回的是一个空数组不删除单纯的将对应的数据插入到指定的下标

1.7 indexOf

根据对应的值找下标

var arr = [1,2,3,4,5]
console.log(arr.indexOf(4,1));//输出3 表示找4对应的下标,从下标为1开始找
1.8 lastindexOf

根据对应的值找下标

var arr = [1,2,3,4,5]
console.log(arr.lastindexOf(4,1));//输出-1 表示找4对应的下标,从下标为1开始往前找
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值