一、扩展运算符(...)
将数组转化为以,分割的字符串
eg:

    console.log(...[1,2,3,4]);    //1 2 3 4 

将字符串转化为数组
eg:

    console.log([...'hello']);  //['h','e','l','l','o']

求数组中最大值
eg:

    //求参数中最大值
let result1 = Math.max(2,5,8,23,75);
console.log(result1);
//ES5中求数组中的最大值
let result2 = Math.max.apply(null,[2,5,8,23,75]);
console.log(result2); //
//ES6中求数组中的最大值
let result3 = Math.max(...[1,2,3,4,5,6,7]);
console.log(result3); //

二、数组新添方法
具备Iterator接口的数据结构:Array、String、类数组对象、Set和Map集合、

Array.from()    【将具备Iterator接口的数据结构转化为数组,并返回该数组】

Array.of()      【返回参数值组成的数组】
弥补构造函数创建数组的不足
eg:

    let arr1 = new Array(10);  //创建一个长度为10的空数组arr1
let arr2 = Array.of(10); //创建数组arr2 = [10];

find()和findIndex()    
find()    【返回第一个符合条件的数组元素或undefined】
findIndex()    【返回第一个符合条件的数组元素的索引或-1】
eg:

    let arr = [16,17,14,19,20,14,30]
//返回第一个符合条件的数组元素或undefined
let result = arr.find((element,index,arr)=>{
return element>18;
});
console.log(result); // //返回第一个符合条件的数组元素的索引或-1
let result2 = arr.findIndex((element,index,arr)=>{
return element>18;
});
console.log(result2); //

fill()    【使用给定参数值作为单个元素值替换数组中的所有元素】
eg:

    [1,2,3].fill('hello');  //返回结果为:['hello','hello','hello']

arr.keys()    【返回包含所有元素索引的迭代器数组对象】

arr.values()    【返回包含所有元素值的迭代器数组对象】

arr.entries()【返回数组中元素索引、元素值以key-value形式的组成的迭代器数组对象】[[index1,element1],[index2,element2]]
注:
    迭代器对象可以使用for-of来遍历获取里面的值
eg:

    for(let [index,element] of arr.entries()){
console.log(index,element); //index为arr的元素索引,element为对应的索引的元素值
}

includes()    【判断数组中是否包含参数中的值,返回boolean类型】
eg:

    [1, 2, 3].includes(2) // true
[1, 2, 3].includes(4) // false
[1, 2, NaN].includes(NaN) // true

ES6 数组的拓展(五)的更多相关文章

  1. ES6 数组方法拓展

    ES6 数组方法拓展 1.Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括E ...

  2. ES6数组的拓展

    扩展运算符 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) // 1 2 3 c ...

  3. ES6 随记(3.3)-- 数组的拓展

    上一章请见: 1. ES6 随记(1)-- let 与 const 2. ES6 随记(2)-- 解构赋值 3. ES6 随记(3.1)-- 字符串的拓展 4. ES6 随记(3.2)-- 正则的拓展 ...

  4. 数组的复制及ES6数组的扩展

    一.数组的复制 // alert([1,2,3]==[1,2,3]); let cc = [0,1,2]; let dd = cc; alert(dd==cc);//此时改变dd会影响cc ES5 只 ...

  5. es6数组的扩展

    数组扩展运算符 ...(三个点) const demoArr=[0,1,2,3,4] console.log(...demoArr) // 0 1 2 3 4 // 他把一个数组用逗号分隔了出来 // ...

  6. ES6数组对象新增方法

    1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的 ...

  7. ES6数组扩展

    前面的话 数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用.ES6标准继续改进数组,添加了很多新功能.本文将详细介绍ES6数组扩 ...

  8. ES6数组及数组方法

    ES6数组可以支持下面的几种写法: (1)var [a,b,c] = [1,2,3]; (2)var [a,[[b],c]] = [1,[[2],3]]; (3)let [x,,y] = [1,2,3 ...

  9. 数组复制的五种方式(遍历循环一一赋值、System.arraycopy、地址赋值、克隆clone()、Arrays.copyof())

    package com.Summer_0424.cn; import java.util.Arrays; import java.util.concurrent.CopyOnWriteArrayLis ...

随机推荐

  1. 06-人脸识别-MTCNN的感性认识(转载)

    找到一个总结很好的blog. 具体训练的过程会在后续的随笔中给出. 转载自: https://blog.csdn.net/lff1208/article/details/77328357 以下是内容: ...

  2. linux中以.d结尾的目录

    一般为了保持对原有配置方式的兼容,而增加的.d结尾目录. 如: /etc/X11/xorg.conf 这原本是个文件,现在也有了一个/etc/X11/xorg.conf.d这样的目录,显卡驱动的相关设 ...

  3. maven settings

    maven settings 私有服settigs <?xml version="1.0" encoding="UTF-8"?> <setti ...

  4. zz视频分割在移动端的算法进展综述

    视频分割在移动端的算法进展综述 语义分割任务要求给图像上的每一个像素赋予一个带有语义的标签,视频语义分割任务是要求给视频中的每一帧图像上的每一个像素赋予一个带有语义的标签. 视频分割是一项广泛使用的技 ...

  5. AutoResetEvent介绍及使用场景

    AutoResetEvent 允许线程通过发信号互相通信.通常,此通信涉及线程需要独占访问的资源. 线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号.如果 AutoRese ...

  6. C++对象布局

    <C++应用程序性能优化><深度探索C++对象模型>笔记 #include<iostream> using namespace std; class student ...

  7. JOI2013-2019题解

    JOI2013-2019题解 Link

  8. MySQL实战45讲学习笔记:第十四讲

    一.引子 在开发系统的时候,你可能经常需要计算一个表的行数,比如一个交易系统的所有变更记录总数.这时候你可能会想,一条 select count(*) from t 语句不就解决了吗? 但是,你会发现 ...

  9. [LeetCode] 753. Cracking the Safe 破解密码

    There is a box protected by a password. The password is n digits, where each letter can be one of th ...

  10. [LeetCode] 14. Longest Common Prefix 最长共同前缀

    Write a function to find the longest common prefix string amongst an array of strings. If there is n ...