数组操作方法

数组操作方法

1. 数组反转reverse()

var arr = [1, 2, 3, 4, 5, 6]
// 数组反转方法,会改变原数组
arr.reverse()
console.log(arr);

2. 数组拼接concat()

// 数组拼接方法,不会改变原数组,需要使用一个新数组接收
// 可以拼接一个数值
const arr1 = arr.concat(4)
console.log(arr1)
// 可以拼接一些数值
const arr2 = arr.concat(1, 2, 3)
console.log(arr2)
// 可以拼接一个数组或多个数组
const arr3 = arr.concat(arr2, arr1)
console.log(arr3)

3. 拼接字符串join()

// 拼接字符串方法,不会改变原数组
var arr = ["我", "你", "狗"]
// 让数组中的每一个值中间由****拼接后转为字符串
var str = arr.join('****') /* 我****你****狗 */
// 如果不给值则会以逗号直接拼接
var str1 = arr.join() /* 我,你,狗 */
// 想要直接拼接没有连接符需要给一个空的字符串
var str2 = arr.join("") /* 我你狗 */

4. 数组排序sort()

var arr4 = [1, 3, 5, 4, 9, 0, 100, 200, 499, 3212, 22, 34]
// 数组排序方法
arr4.sort((res1, res2) => {
  // 返回res2-res1是反序
  return res2 - res1
  // 返回res1-res2是正序
  // return res1 - res2
})

// 默认状态是正序
// 并且默认状态只能判断第一位数,10以下的排序,所以一般写成上面的形式
// arr4.sort()
console.log(arr4)

5. 截取数组slice()

// 截取数组方法,数组.slice(开始的下标,结束的下标)
// 不会改变原数组
var arr5 = [1, 2, 3, 4, 5, 6]
var arr6 = arr5.slice(1, 5)
// 从索引1截到索引5
// 包括索引1,不包括索引5
// 包左不包右
console.log(arr6) /* 2,3,4,5 */

// 从索引1截到结尾
var arr7 = arr5.slice(1)
console.log(arr7); /* 2,3,4,5,6 */

var arr8 = arr5.slice(-3, -2)
console.log(arr8); /* 4 */

// (1)截取方法也会返回一个新的数组,需要使用变量去接收
// (2)[ 开始下标,结束下标 ) 包含开始,不包含结束
// (3)截取数组只写一个参数的时候表示从当前下标开始后面的全部都要选中
// (4)当两个参数为正的时候:当第一个参数比第二个参数大的时候返回空
// (5)当两个参数为负的时候:第二个参数一定要比第一个大,从后往前数

3. 根据值查找索引indexOf lastIndexOf

// 1.通过数组的值获取相对应下标出现的第一次位置:数组.indexOf(值)
var arr = [1,2,3,3,3,3,4,5,6,7,3,2,1]
var res = arr.indexOf(2) // 输出的是1 表示数组值2从左到右出现的第一次是下标为1的位置
console.log(res)

// 2.通过数组的值获取相对应下标出现的最后一次位置 数组.lastIndexOf(值)
var arr = [1,2,3,3,3,3,4,5,6,7,3,2,1]
var res = arr.lastIndexOf(1)
console.log(res) // 从左到右 最后一次出现的下标

// 注意:如果没找到就会返回-1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值