首页 > 其他分享 >【ES6】数组的拓展

【ES6】数组的拓展

时间:2023-01-16 20:34:34浏览次数:39  
标签:ES6 拓展 let 数组 Array 方法 fill


【ES6】数组的拓展

  • ​​一、Array.from()方法​​
  • ​​二、Array.of()方法​​
  • ​​三、数组的copyWithin()方法​​
  • ​​四、数组的find()和findIndex()方法​​
  • ​​五、数组的fill()方法​​
  • ​​六、数组的entries()、keys()、values()方法​​
  • ​​查看更多ES6教学文章:​​
  • ​​参考文献​​

引言:ES6增加了对数组的接口。


一、Array.from()方法

        ​​Array.from​​方法用于将两类对象转为真正的数组:类似数组的对象和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。

//将类似数组的对象转化为数组
let arraylike = {
'0' : 'a',
'1' : 'b',
'2' : 'c',
length : 3
}
let arr=Array.from(arraylike); // ['a','b','c']

//将字符串转化为数组
Array.from('hello'); // ['h','e','l','l','o']

//将set解构转化为数组
let nameSet = new Set(['a','b']);
Array.from(nameSet); // ['a','b']

二、Array.of()方法

        ​​Array.of​​方法用于将一组值转化为数组。这个方法的主要目的是弥补构造函数Array()的不足。因为参数的个数会导致Array()函数行为有差异。

Array(3); // [, , ,]
Array.of(3); // [3]

Array(3,4,5); // [3,4,5]
Array.of(3,4,5); // [3,4,5]

三、数组的copyWithin()方法

        ​​copyWithin(target,start,end)​​​方法用于在当前数组内部将指定位置的成员复制到其他位置。
它接受三个参数:
target:从该位置开始替换数据
start:从该位置开始读取数据,默认为0。如果负数,表示倒数第几个。
end:到该位置停止读取数据,默认等于数组长度。如果负数,表示倒数第几个。

[1,2,3,4,5].copyWithin(0,3,4); // [4,2,3,4,5]

[1,2,3,4,5].copyWithin(0,-2,-1); // [4,2,3,4,5]

四、数组的find()和findIndex()方法

        ​​find()​​​方法用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行回调函数,知道找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,返回undefined。
        ​​​findIndex()​​方法和find差不多,但是返回的是数组成员的位置。

[1,2,-5,10].find((n) => n<0 ) //-5
[1,2,-5,10].findIndex((n) => n<0 ) //2

五、数组的fill()方法

        ​​fill()​​方法用于使用给定的值填充数组。

['a','b','c'].fill(7); // [7,7,7]

new Array(3).fill(7); // [7,7,7]

['a','b','c'].fill(7,1,2); // ['a',7,'c']

六、数组的entries()、keys()、values()方法

        ​​keys()​​​方法对键名进行遍历。
        ​​​valuess()​​​方法对键值进行遍历。
        ​​​entries()​​方法对键值对进行遍历。

for (let index of ['a','b'].keys()){
console.log(index);
}
//0
//1

for(let elem of ['a','b'].values()){
console.log(elem);
}
//'a'
//'b'

for(let [index,elem] of ['a','b'].entries()){
console.log(index,elem);
}
// 0 'a'
// 1 'b'

参考文献

阮一峰 《ES6标准入门(第2版)》


标签:ES6,拓展,let,数组,Array,方法,fill
From: https://blog.51cto.com/u_15942590/6010779

相关文章

  • 【数组】 差分
    【数组】差分前缀和与差分我在前面的两篇博客里面简要介绍了一下一维、二维数组的前缀和的一些知识点,提到前缀和,那很自然地就会提到差分的概念。首先我们回顾一下前......
  • 剑指 Offer 11. 旋转数组的最小数字
    剑指Offer11.旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个......
  • 【ES6】ES6编程规范 编程风格
    【ES6】ES6编程规范编程风格​​一、定义变量的规范​​​​二、字符串​​​​三、对象​​​​四、数组​​​​五、函数​​​​查看更多ES6教学文章:​​​​参考文献​......
  • 【ES6】Module模块详解
    【ES6】Module模块详解​​一、Module的由来​​​​二、严格模式​​​​三、export命令​​​​四、import命令​​​​查看更多ES6教学文章:​​​​参考文献​​引言:由于......
  • 【ES6】JS类的用法class
    【ES6】JS类的用法class​​一、概述​​​​二、构造函数constructor​​​​三、静态方法与静态变量​​​​查看更多ES6教学文章:​​​​参考文献​​引言:由于JS之前一直......
  • 【ES6】异步操作和async函数
    【ES6】异步操作和async函数​​一、基本概念​​​​二、回调函数​​​​三、Promise​​​​四、async函数​​​​查看更多ES6教学文章:​​​​参考文献​​引言:ES6新增......
  • 【ES6】Generator函数详解
    【ES6】Generator函数详解​​一、Generator函数简介​​​​基本概念​​​​函数写法​​​​yield关键字介绍​​​​二、next方法的参数​​​​三、for...of循环​​​......
  • 【ES6】Promise对象详解
    【ES6】Promise对象详解​​一、Promise对象的含义​​​​二、Promise对象的用法​​​​三、Promise对象的几个应用【重点】​​​​1、时间延迟函数​​​​2、图片异步......
  • 【ES6】JS的Set和Map数据结构
    【ES6】JS的Set和Map数据结构​​一、Set​​​​1、基本用法​​​​2、4种操作方法​​​​3、4种遍历方法​​​​4、Set的应用​​​​1)Set转化为数组​​​​2)去除数组......
  • 【ES6】Proxy对象
    【ES6】Proxy对象​​一、Proxy的基本用法​​​​二、Proxy示例的方法​​​​1)get()​​​​2)set()​​​​3)apply()​​​​查看更多ES6教学文章:​​​​参考文献​​引......