数组的方法

一、改变原数组的数组方法

1.push() 添加 末尾添加 即数组名.push(数据)

let arr = [1, 4, 5, 8, 7]
res = arr.push(6)
console.log(res);
[6]
//res返回数组的长度,arr返回数组的数据
console.log(arr);
[1, 4, 5, 8, 7]

2.pop() 删除 末尾删除数组数据 即 数组名.pop()

let arr = [1, 4, 5, 8, 9]
res = arr.pop();
//res 返回的是被删除的数据
console.log(res);
[9]
//arr 返回的是删除后的数组的数据
console.log(arr);
[1, 4, 5, 8]

3.unshift () 添加 头部添加数据 即 数组名.unshfit(数据)

let arr = [1, 4, 5, 8, 9]
res = arr.unshift(3)
//res 返回的是添加完的数据长度 [6]
console.log(res);
//arr 为添加完的数据 [3,1,4,5,8,9]
console.log(arr);

4.shift () 删除 头部删除数据 即 数组名.shift()

let arr = [1, 4, 5, 8, 9]
res = arr.shift()
//res 返回的是被删除的数据 [1]
console.log(res);
//arr 为删除完的数据 [4,5,8,9]
console.log(arr);

5.reverse () 翻转数组 即 数组名.reverse()

let arr = [1, 4, 5, 8, 9]
res = arr.reverse()
//res 返回的是被翻转后的数据 [9, 8, 5, 4, 1]
console.log(res);
//arr 返回的是被翻转后的数据 [9, 8, 5, 4, 1]
console.log(arr);

6. sort () 排序

//(1)数组名.sort() 排序 从小到大正常排序
let arr = [1, 4, 5, 8, 9]
arr.sort()
//arr 返回的是从小到大排序后的数据 [1, 4, 5, 8, 9]
console.log(arr);
//(2)arr 返回的是从小到大排序后的数据 [1, 4, 5, 8, 9]
arr.sort((a, b) => {
    return (a - b)
})
console.log(arr);
//(3) arr 返回的是从大到小排序后的数据 [9, 8, 5, 4, 1]
arr.sort((a, b) => {
    return (b - a)
})
console.log(arr);

7.splice() 截取数组

//(1)数组名.splice(开始索引,截取多少个) 截取数组
let arr = [1, 4, 5, 8, 9]
let res = []
res = arr.splice(2, 2)
//res 截取的数据 [5,8]
console.log(res);
//arr 返回 截取完的数组 [1, 4, 9]
console.log(arr);
// (2)数组名.splice(开始索引,多少个,插入的数据) 
let arr = [1, 4, 5, 8, 9]
let res = []
res = arr.splice(2, 2, 88)
//res 截取的数据 [5,8]
console.log(res);
//arr 返回 截取完插入后的数组 [1, 4,88, 9]
console.log(arr);

二、不改变原数组的数组方法

1.concat () 合并数组 即 数组名.concat(数据)

let arr = [1, 4, 5, 8, 9];
let res = [10, 40];
let brr = []
brr = arr.concat(res)
// brr 返回拼接后的数组 [1, 4, 5, 8, 9, 10, 40]
console.log(brr);
// arr 返回原数组 [1, 4, 5, 8, 9]
console.log(arr);

2.join() 数组转字符串 即 数组名.join(‘连接符’)

let arr = [1, 4, 5, 8, 9];
res = arr.join("-")
// res 1-4-5-8-9
console.log(res);
//arr 返回原数组 [1, 4, 5, 8, 9]
console.log(arr);

3.slice()截取数组的一部分数据 即 数组名.slice( 开始索引, 结束索引)

let arr = [1, 4, 5, 8, 9];
res = arr.slice(1, 3)
//注意 包前不好后 包含开始索引不包含结束索引
//res 返回 截取的数据 [4, 5] 
console.log(res);
//arr 返回原数组 [1, 4, 5, 8, 9]
console.log(arr);

4.indexOf 从左检查数组中有没有这个数值

//就是检查这个数组中有没有该数据
//(1) 数组名.indexOf( 要查询的数据) 
let arr = [1, 4, 5, 8, 9];
res = arr.indexOf(7)
// res 返回 没有返回 -1
console.log(res);
//tes  返回该数据第一次出现的索引
tes = arr.indexOf(5)
console.log(tes);
//返回原数组 [1, 4, 5, 8, 9]
console.log(arr);
// (2)  数组名.indexOf( 要查询的数据, 开始索引)
let arr = [1, 4, 5, 8, 9];
res = arr.indexOf(1, 2)
// res 返回 没有返回 -1
console.log(res);
//tes  返回该数据第一次出现的索引
tes = arr.indexOf(1, 0)
console.log(tes);
//返回原数组 [1, 4, 5, 8, 9]
console.log(arr);

5.lastIndexOf 从右检查数组中有没有这个数值

//就是检查这个数组中有没有该数据
//(1) 数组名.lastIndexOf( 要查询的数据) 
let arr = [1, 4, 5, 8, 9];
res = arr.lastIndexOf(7)
// res 返回 没有返回 -1
console.log(res);
//tes  返回该数据第一次出现的索引
tes = arr.lastIndexOf(5)
console.log(tes);
//返回原数组 [1, 4, 5, 8, 9]
console.log(arr);
// (2)  数组名.lastIndexOf( 要查询的数据, 开始索引)
let arr = [1, 4, 5, 8, 9];
res = arr.lastIndexOf(1, 2)
// res 返回 没有返回 -1
console.log(res);
//tes  返回该数据第一次出现的索引
tes = arr.lastIndexOf(1, 0)
console.log(tes);
//返回原数组 [1, 4, 5, 8, 9]
console.log(arr);

三、Es6新增数组方法

1.forEach() 用来循环遍历的 for

let arr = [1, 4, 5, 8, 9];
// console.log(arr);
let res = arr.forEach((item, index, arr) => {
    console.log(item, index, arr);
})
//返回结果如下:
1 0(5)[1, 4, 5, 8, 9]
4 1(5)[1, 4, 5, 8, 9]
5 2(5)[1, 4, 5, 8, 9]
8 3(5)[1, 4, 5, 8, 9]
9 4(5)[1, 4, 5, 8, 9]
//item : 这个表示的是数组中的每一项
// index : 这个表示的是每一项对应的索引
// arr : 这个表示的是原数组 

2.map 映射数组的

let arr = [1, 4, 5, 8, 9];
//arr 原数组
console.log(arr);
let res = arr.map((item) => {
    return item * 10
})
//是一个数组 一个映射完毕的数组;这个数组合原数组长度一样
//res  [10, 40, 50, 80, 90]
console.log(res);

3.filter 过滤数组

let arr = [1, 4, 5, 8, 9];
console.log(arr);
//如果有就是过滤(筛选)出来的数据 保存在一个数组中;如果没有返回一个空数组
let res = arr.filter((item) => {
    return item > 3
})
//res 返回结果  [4, 5, 8, 9]
console.log(res);
let tes = arr.filter((item) => {
    return item > 10
})
//res 返回结果  []
console.log(tes);

4.every 判断数组是不是满足所有条件

//用来判断数组中是不是 每一个 都满足条件    
let arr = [1, 4, 5, 8, 9];
let res = arr.every((item) => {
    return item > 0
})
//只有所有的都满足条件返回的是true
console.log(res);
let tes = arr.every((item) => {
    return item < 3
})
//只要有一个不满足返回的就是false
console.log(tes);

5.some() 数组中有没有满足条件的

//用来判断数组中是不是 每一个 都满足条件
let arr = [1, 4, 5, 8, 9];
let res = arr.some((item) => {
    return item > 2
})
//只有有一个满足条件返回的是true
console.log(res);
let tes = arr.some((item) => {
    return item < 0
})
//只要都不满足返回的就是false
console.log(tes);

6.find()用来获取数组中满足条件的第一个数据

let arr = [1, 4, 5, 8, 9];
let res = arr.find((item) => {
    return item > 8
})
// res 9 满足条件的第一个数据;
console.log(res);
let tes = arr.find((item) => {
    return item < 0
})
//没有就是undefined
console.log(tes);

7.findindex 方法返回数组中满足提供的测试函数的第一个元素的索引。

let arr = [1, 4, 5, 8, 9];
let res = arr.findIndex((item) => {
    return item > 5
})
//返回复合该数据的个数
console.log(res);
let tes = arr.findIndex((item) => {
    return item < 0
})
//若没有找到对应元素则返回 -1
console.log(tes);

8.reduce()叠加后的效果

let arr = [1, 4, 5, 8, 9];
//prev :一开始就是初始值 当第一次有了结果以后;这个值就是第一次的结果
//next :下一个值
let res = arr.reduce((prev, next) => {
    return prev + next
}, 1)
// 就是叠加后的结果 28
console.log(res);
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值