学无先后,达者为师

网站首页 编程语言 正文

ES6数组新增API

作者:H-hang 更新时间: 2022-09-22 编程语言

ES6数组新增API

名称 类型 简介
of() 静态方法 用于将一组值,转换为数组。注意跟Array的区别
from() 静态方法 将两类对象转为真正的数组(arguments,元素集合)
find() 实例方法 用于找出第一个符合条件的数组成员
findIndex() 实例方法 返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
fill() 实例方法 使用给定值,填充一个数组。可选开始索引和结束索引
copyWithin(targetIndex,[start],[end]) 实例方法 在当前数组内部,将指定位置的成员复制到其他位置,然后返回当前数组
includes(data,[index]) 实例方法 返回一个布尔值,表示某个数组是否包含给定的值,可选开始索引

1.Array.of()

用于将一组值,转换为数组

  • 示例:
let arr1 = Array.of(1, 2, 3, 4, 5)
console.log(arr1) //[1,2,3,4,5]
let arr2 = Array.of(4)
console.log(arr2)  //[4]
  • Array和Array of()的区别:

    体现在传一个参数的时候

    当Array传一个参数时,数组中的元素为empty;

    当Array.of()传一个参数时,数组中的元素是传入的参数的值;

    • Array
    let arr0 = new Array(4); 
    console.log(arr0);// [empty,empty,empty,empty]
    
    • Array.of()
    let arr2 = Array.of(4)
    console.log(arr2); //[4]
    

2.Array.form()

将两类对象(arguments,元素集合,自定义类数组[‘0’:100,length:1])转为真正的数组

  • 示例:
//获取p标签
let pEles = document.getElementsByTagName('p');
console.log(pEles);
//遍历
Array.from(pEles).forEach(item => console.log(item));
//由此可以说明把元素的集合转为真正的数组

3.find()

用于找出第一个符合条件的数组成员,并且返回该数组元素

如果没有满足条件的数组元素该方法返回undefined

  • 示例:
arr1=[1, 2, 3, 4, 5]
let num1 = arr1.find(function(item) {
    return item > 1;
});
console.log(num1); //2

4.findIndex()

用于找出第一个符合条件的数组成员的索引值,并且返回该数组元素的索引值

如果没有满足条件的数组元素该方法返回-1

  • 示例:
arr1=[1, 7, 9, 4, 5]
let num1 = arr1.findIndex(item => item > 9);
console.log(num1); //-1
let num2 = arr1.findIndex(item => item > 3);
console.log(num2); //2

5.fill()

给数组指定的索引,以指定值进行填充

//—第一个参数是填充的值

//—第二个参数是起始索引 默认值是0

//—第三个参数是结束的索引(不包含) 默认值是数组length

  • 示例:
arr1=[1, 2, 3, 4, 5]
console.log(arr1); //[1, 2, 3, 4, 5]
arr1.fill(6);
console.log(arr1); //[6, 6, 6, 6, 6]
arr1.fill(7, 2);
console.log(arr1); //[6, 6, 7, 7, 7]
arr1.fill(8, 1, 3);
console.log(arr1); //[6, 8, 8, 7, 7]

6.copyWithin()

在当前数组内部,将指定位置的成员复制到其他位置,然后返回当前数组

// —第二个参数为起始索引

// —第三个参数为结束索引**(不包含)**,将对应的数组元素赋值给第一个参数设置的开头的索引,依次取替换原索引上的值

  • 示例:
arr1=[1, 2, 3, 4, 5]
let arr4 = arr1.copyWithin(0, 1, 4);
console.log(arr4); //[2, 3, 4, 4, 5]
let arr5 = arr4.copyWithin(1, 3, 4);
console.log(arr5); //[2, 4, 4, 4, 5]
let arr6 = arr5.copyWithin(0, 2, 4);
console.log(arr6); //[4, 4, 4, 4, 5]

7.includes()

判断数组是否包含指定值—是全等判断

相当于Object.is()

//—第一个值是包含的指定值

//—第二个值是指定值的索引

  • 示例:
arr5=[2, 3, 4, 7, 5]
let flag = arr5.includes(2);
console.log(flag);//true
let flag1 = arr5.includes(3,1);
console.log(flag1);//true

原文链接:https://blog.csdn.net/SH744/article/details/126858898

栏目分类
最近更新