数组的一些方法

剩余参数

//...三个点表示调用所有的参数
const sum = (...args) => {
         let total = 0;
         args.forEach(item => total += item);
              return total;
   };

console.log(sum(10,20));
console.log(sum(10,20,30));//60
剩余参数和解构配合使用
//在s2前面加三个点。。。则s2接收剩余元素
//如果不加。。。的话对应第二个参数
let stydents = ['11','22','33'];
let [s1,...s2] = students;
console.log(s1);//11
console.log(s2);//22,33

Array的扩展方法

扩展运算符(展开语法)
扩展运算符可以将数组或者对象栈转化为用逗号隔开的参数序列

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

参数序列的逗号会被当做方法的参数分隔符

合并数组
//方法一
let ary1 = [1,2,3];
let ary2 = [4,5,6];
let ary3 = [...ary1,..ary3];
console.log(ary3);//[1,2,3,4,5,6];

//方法二
ary1.push(...ary2);
console.log(ary1);//[1,2,3,4,5,6];
扩展运算符(展开语法)

将类数组或可遍历对象转换成真正的数组

let oDivs = document.getElementsByTagName('.div');
//元素的集合实际上是伪数组
var ary = [...oDivs];
ary.push('a');
console.log(ary);//在控制台看数组就可以看到后面多了一个a

把伪数组转化成以逗号分隔的参数序列,再加上一个数组中括号,如此伪数组就能转化成真正的数组

构造函数方法Array.from()
  • 将类数组或可遍历对象转化为真正的数组
let arrayLike = {
     '0': 'a',
     '1': 'b',
     '2': 'c',
     length: 3//这里必须加length
     };
let arr2 = Array.from(arrayLike);
//['a','b','c']
  • 方法还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组中。
let arrayLike = {
     '0': '1',
     '1': '2',
      length: 2//这里必须加length
     };
 let newAry = Array.from(aryLike,item => item *2);
 console.log(ary);//[2,4]
 //数组中有多少个元素函数就会被调用多少次
实例方法find

用来找出第一个符合条件的数组成员,如果没有找到的话,返回undefined

let ary = [{
     id: 1;
     name: '小楠楠',
     },{
     id: 2;
     name:'litternannan‘,
     }];
  let target  = ary.find(item,index) => item.id == 2);
  console.log(target);
  //查找的条件:id=2
  //传入的是两个参数:值和索引
实例方法:findIndex()

用于找出第一个符合条件的数组成员的位置,如果没有找返回-1

let ary = [1,5,10,15];
let index = ary.findIndex(value,index) => value > 9);
console.log(index);//2
//这里虽然我们的10和15都满足条件,但我们只返回查找到的第一个符合条件的值
实例方法:includes()

表示某个数组是否包含给定的值,返回布尔值

[1,2,3].includes(2);//ture
[1,2,3].includes(4);//false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值