数组的方法

1、forEach()
此函数和 类似于 for 循环,没有返回值,用来遍历数组;

let array = [1,2,3,4,5,6];
let sum = 0;
array.forEach((item) => {
	sum += item;
});
console.log(sum);//21;

2、map()
①map()方法一定要有一个返回值,没有返回值的话就会返回一个undefined;
②map()方法的返回值是一个数组;

let arr = [{id:1,name:"tom"},{id:2,name:"timi"}];
let newArray = arr.map((item) => item.name);
console.log(newArray);//["tom", "timi"]

3、filter()
filter可以返回一个新数组,也可以直接改变原数组

let arr = [1,2,3,4,5,6];
let newArray = arr.filter((item) => item > 3);
console.log(newArray);//[4, 5, 6];

4、find()
find()方法只会找到第一个符合的,找到之后就会直接返回,就算下面还有符合要求的,也不会再找下去;

let arr = [1,2,3,4,5,6,7];
let newArray = arr.find((item) => item > 3);
console.log(newArray);//4

5、some()和every()
some()方法只要有一个满足就行,every()方法要所有的满足才可以,即some():一真即真,every():一假即假;

let arr = [1,2,3,4,5,0];
let tempSome = arr.some((item) => item > 1);
let tempEvery = arr.every((item) => item > 1);
console.log("tempSome:",tempSome,"tempEvery:",tempEvery);//tempSome: true tempEvery: false

6、reduce()
数组求和,求乘积

let arr = [1,2,3,4];
let sum = arr.reduce((x,y) => x + y);//x:上一次调用回调返回的值,或者是提供的初始值;y:数组中当前被处理的元素;
let product = arr.reduce((x,y) => x * y);//x:上一次调用回调返回的值,或者是提供的初始值;y:数组中当前被处理的元素;
console.log("sum:",sum,"product:",product);//sum: 10 product: 24;

7、push()
向数组的末尾添加新内容

let arr = [1,2,3,4];
arr.push(5);
console.log(arr);//[1, 2, 3, 4, 5];

8、pop()
删除数组的最后一项

let arr = [1,2,3,4];
arr.pop();
console.log(arr);//[1, 2, 3];

9、shift()
删除数组的第一项

let arr = [1,2,3,4];
arr.shift();
console.log(arr);//[2, 3,4];

10、unshift()
向数组首位添加新内容

let arr = [1,2,3,4];
arr.unshift(1);
console.log(arr);//[1, 1, 2, 3, 4]

11、slice()
按照条件查找出其中的部分内容
array.slice(n, m),从索引n开始查找到m处(不包含m)
array.slice(n) 第二个参数省略,则一直查找到末尾
array.slice(0)原样输出内容,可以实现数组克隆
array.slice(-n,-m) slice支持负参数,从最后一项开始算起,-1为最后一项,-2为倒数第二项

let ary = [1,2,3,4,5,6,7,8,9]; 
console.log(ary.slice(2,8));//从索引2开始查找到索引为8的内容,结果为[3, 4, 5, 6, 7, 8] 
console.log(ary.slice(0)); 
console.log(ary.slice(-2,-1));//[8]

12、splice()
对数组进行增删改
增加:ary.splice(n,0,m)从索引n开始删除0项,把m或者更多的内容插入到索引n的前面,返回空数组;
修改:ary.splice(n,x,m)从索引n开始删除x个,m替换删除的部分,把原有内容删除掉,然后用新内容替换掉;
删除:ary.splice(n,m) 从索引n开始删除m个内容(如果第二个参数省略,则从n删除到末尾)返回删除的新数组,原有数组改变

  //增加
  let ary1 = [33,44,55,66,77,88];
  ary1.splice(2,0,'a','b')
  console.log(ary1);// [33, 44, "a", "b", 55, 66, 77, 88]
  //修改
  let ary2 = [33,44,55,66,77,88];
  ary2.splice(1,2,'x','y')
  console.log(ary2);// [33, "x", "y", 66, 77, 88]
  //删除
   let ary3 = [33,44,55,66,77,88];
   console.log(ary3.splice(3,2))//[66, 77]
   console.log(ary3.splice(3));//[66, 77, 88]

13、join()
用指定的分隔符将数组每一项拼接为字符串
参数:指定的分隔符(如果省略该参数,则使用逗号作为分隔符)

let ary = [1,2,3];
console.log(ary.join(','));//1,2,3

14、concat()
用于连接两个或多个数组
参数:参数可以是具体的值,也可以是数组对象。可以是任意多个

let arr1 = [1,2];
let arr2 = [3,4,5];
console.log(arr1.concat(arr2));//[1, 2, 3, 4, 5]

15、indexOf()
检测当前值在数组中第一次出现的位置索引
参数:array.indexOf(item,start) item:查找的元素 start:字符串中开始检索的位置
返回值:第一次查到的索引,未找到返回-1

let arr = ['a','b','c','d','e','a','f'];
console.log(arr.indexOf("c"));//2
console.log(arr.indexOf('a',2))//5

16、lastIndexOf()
检测当前值在数组中最后一次出现的位置索引
array.lastIndexOf(item,start) item:查找的元素 start:字符串中开始检索的位置

let ary = ['a','b','c','d','e','a','f'];   
console.log(ary.lastIndexOf('c'));//2
console.log(ary.lastIndexOf('f',1))//-1

17、includes()
判断一个数组是否包含一个指定的值

let ary = ['a','b','c','d']; 
console.log(ary.includes('c'));//true
console.log(ary.includes(2));//false

18、sort()
对数组的元素进行排序(默认是从小到大来排序 并且是根据字符串来排序的)sort在不传递参数情况下,只能处理10以内(个位数)数字排序

let ary = [32,44,23,54,90,12,9]; 
  ary.sort((a,b) => {       
  		// return a-b;  // 结果[9, 12, 23, 32, 44, 54, 90]
       // return b-a;  // 结果[90, 54, 44, 32, 23, 12, 9]   
    })  
   console.log(ary);//[32,44,23,54,90,12,9]

19、reverse()
把数组倒过来排列

let ary12 = [6,8,10,12]; 
console.log(ary12.reverse());//[12, 10, 8, 6]

20、findIndex()
返回数组中满足提供的测试函数的第一个元素的索引

let arr = [12, 5, 8, 130, 44,199];
console.log(arr.findIndex((item) => item > 100))//3
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值