ES6 数组的拓展(五)
一、扩展运算符(...)
将数组转化为以,分割的字符串
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 数组的拓展(五)的更多相关文章
- ES6 数组方法拓展
ES6 数组方法拓展 1.Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括E ...
- ES6数组的拓展
扩展运算符 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) // 1 2 3 c ...
- ES6 随记(3.3)-- 数组的拓展
上一章请见: 1. ES6 随记(1)-- let 与 const 2. ES6 随记(2)-- 解构赋值 3. ES6 随记(3.1)-- 字符串的拓展 4. ES6 随记(3.2)-- 正则的拓展 ...
- 数组的复制及ES6数组的扩展
一.数组的复制 // alert([1,2,3]==[1,2,3]); let cc = [0,1,2]; let dd = cc; alert(dd==cc);//此时改变dd会影响cc ES5 只 ...
- es6数组的扩展
数组扩展运算符 ...(三个点) const demoArr=[0,1,2,3,4] console.log(...demoArr) // 0 1 2 3 4 // 他把一个数组用逗号分隔了出来 // ...
- ES6数组对象新增方法
1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的 ...
- ES6数组扩展
前面的话 数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用.ES6标准继续改进数组,添加了很多新功能.本文将详细介绍ES6数组扩 ...
- 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 ...
- 数组复制的五种方式(遍历循环一一赋值、System.arraycopy、地址赋值、克隆clone()、Arrays.copyof())
package com.Summer_0424.cn; import java.util.Arrays; import java.util.concurrent.CopyOnWriteArrayLis ...
随机推荐
- 【BZOJ3716】[PA2014]Muzeum(贪心+网络流)
BZOJ 题意: 在二维网格图中有\(n\)个物品,每个物品有价值:但有\(m\)个警卫看管这些物品,每个警卫面朝\(y\)轴负方向,能看到一定角度(假定能够看到无穷远). 现在每个敬畏有一个贿赂价钱 ...
- JS高阶---语句分号相关
[总结] 小括号和中括号开头的在其前必须加封号: [主体] 首先搜索下 [主体] (1)讨论---编码风格问题 (2)什么情况必须用封号? 1.其后跟着匿名式函数调用 此时可以在匿名函数前加:如下所示 ...
- Portainer
docker search portainer docker pull portainer/portainer docker run -it \ --name prtainer \ -p 9000:9 ...
- Graph Embedding Review:Graph Neural Network(GNN)综述
作者简介: 吴天龙 香侬科技researcher 公众号(suanfarensheng) 导言 图(graph)是一个非常常用的数据结构,现实世界中很多很多任务可以描述为图问题,比如社交网络,蛋白体 ...
- TCP的三次握手和四次挥手详解
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. TCP报文格式 TCP的包如下: ...
- web控制树莓派摄像头
首先测试摄像头保证能顺利拍照 raspistill -o a.jpg 安装flask sudo pip install flask 确认无误之后向下进行. 文件夹结构: CapPic ----stat ...
- Linux性能优化实战学习笔记:第四十五讲
一.上节回顾 专栏更新至今,四大基础模块的最后一个模块——网络篇,我们就已经学完了.很开心你还没有掉队,仍然在积极学习思考和实践操作,热情地留言和互动.还有不少同学分享了在实际生产环境中,碰到各种性能 ...
- Linux性能优化实战学习笔记:第四十八讲
一.上节回顾 上一节,我们一起学习了如何分析网络丢包的问题,特别是从链路层.网络层以及传输层等主要的协议栈中进行分析. 不过,通过前面这几层的分析,我们还是没有找出最终的性能瓶颈.看来,还是要继续深挖 ...
- 阿里巴巴 Java 开发手册 1.4.0
一.编程规约(一) 命名风格1. [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.反例: _name / __name / $name / name_ / name$ ...
- Django-查询优化
表数据: from django.db import models class Province(models.Model): name = models.CharField(max_length=1 ...