ES6知识整理(4)--数组的扩展
最近工作比较忙,基本每天都会加班到很晚。处理一些客户端兼容问题以及提升用户体验的优化。也将近一周没更文了,现在继续es6的学习总结。
形式是3个点(...),能起到分割字符串和合并数组的作用
合并数组:(代替concat)

字符串转数组:

新面孔啊,之前都没听说过。
1.map结构:[key,value]结构

generator函数:(了解下即可)
go()是个遍历器对象

合并成组
(Array.of()方法与Array.from()方法有些类似,都是将传入的参数返回成数组,不同的是Array.of()的参数类型以及长度不固定限制,而Array.from的第一个参数类型有限制,第二个参数为可选参数)

find(回调函数):
返回数组中第一个符合条件的成员,没有就是undefined

findIndex(回调函数):
返回数组中第一个符合条件的成员的位置,没有就是-1
(value当前值,index当前位置,arr数组本身)

1个参数:所有的都变掉

多个参数:改变指定位置的值
(执行后会改变原有数组)
(超出位置不填充)

keys():遍历数组的下标

结果:

values():遍历数组的值
使用上面的arr
(这个函数需要引入babel-polyfill.js包才能运行 require或script引入)

(若不想引入包,通过keys能就能获取到values了)

结果:

entries():遍历键值对

结果:

也可以用来判断字符串的字符,返回boolean
代替indexOf()
比indexOf()更优化

没有值,连undefined都不是

es5的forEach()、filter()、every()、some()会跳过空位
forEach():遍历

结果:

filter():按条件筛选,返回一个新数组

every():检测数组的所有元素都符合条件,返回boolean

some():检测数组中是否有元素符合条件,返回boolean

但是map()会保留空位
map():符合条件的,返回一个新数组
而ES6中entries()、keys()、values()、find()和findIndex()会将空位处理成undefined。

坚持学习、总结、更文,才是常态。。。
----公众号:海瑞菌

ES6知识整理(4)--数组的扩展的更多相关文章
- Es6学习笔记(7)----数组的扩展
参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ 数组的扩展 1.扩展运算符:可以将数组转化成逗号隔离的单个参数...[1,2,3] //控制台运 ...
- ES6知识整理(5)--对象的扩展
个人开这个公众号的初心是为了积累知识,因此并没有做什么推广,再说自己也不知道怎么推广,推广之后又能干些什么.已经将近10天没发文章了,虽然每天都加班,但也不会一点时间都没有,有时还是会懒癌发作不想学习 ...
- ES6知识整理(3)--函数的扩展
只有整理过的学习才是有效的学习.也就是学习之后要使用和整理成文,才是真正的学到了... 最近上班有点忙的关系,于是文章更新会慢些.只有晚上加完班之后,空余时间才能学习整理.因此完成一篇也可能要几个晚上 ...
- ES6知识整理(1)--let和const命令
最近准备在业余空闲时间里一边学习ES6,一边整理相关知识.只有整理过的学习才是有效的学习.也就是学习之后要使用和整理成文,才是正在的学到了... 那么现在开始 LINK START!(首先是第一讲,前 ...
- ES6知识整理(2)--变量的解构赋值
最近准备在业余空闲时间里一边学习ES6,一边整理相关知识.只有整理过的学习才是有效的学习.也就是学习之后要使用和整理成文,才是真正的学到了... 上一篇是一个试水,现在接上. 变量提升 看了下朋友回复 ...
- ES6(阮一峰) 数组的扩展
1.扩展运算符 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(1, ...[2, 3, 4], 5) // ...
- ES6学习笔记之数组的扩展
✏️1. 扩展运算符 扩展运算符(spread)是三个点(...),将一个数组转为用逗号分隔的参数序列. 普通用法 console.log(...[1,2,3]);//1 2 3 数组拷贝(普通类型深 ...
- ES6知识整理(10)--class的继承
(这是es6的第10篇文章.说真的这样的总结之后虽然直观了许多,但是消耗的时间有点长,或许是知识比较复杂的原因吧) 类的继承 有个A类,B类继承A类,那B类实例就可以使用A类实例的所以属性和方法.不包 ...
- ES6走一波 数组的扩展
Array flat 数组实例的扁平化方法(浏览器支持不佳) 建议使用 lodash的 flatten
随机推荐
- git push 报错:you are not allowed to upload merges
git rebase Cannot rebase: You have unstaged changes. git stash # 每次 push 前 git pull --rebase git pus ...
- xshell 禁用铃声 提示音
xshell 的铃声在操作时比较烦,所以通常会关闭. 操作方法: 工具 > 选项 > 高级, 在“终端”选项下的 “禁用铃声” 前面打上勾, 确定即可.
- leetcode 22括号生成
非常好的一道题.一开始的思想是这样的,先把n对括号按照某一顺序生成一个string,然后用全排列算法生成所有可能,然后利用stack写一段判断括号是否匹配的字符串,匹配的假如结果中.不过会超时.因为全 ...
- GCC 用户态&内核态 Makefile
转了一圈,今天再次回到C 网上一篇博文,个人感觉良心作品,故而拿来重新实现一遍,原作者原文有问题,我这里把他打通了 一.GCC Makefile //hello.c #include <stdi ...
- python SMTP attachment
发邮件,现在还有不带附件的吗? 开个玩笑,你要带,就得如此下边这样办 //test.py import smtplib from email.mime.text import MIMEText fro ...
- cocos2dx 游戏plist与png完美切成小图python代码
首先需要一份python的切图程序: #python2.5 unpack_plist.py birdfly #! /usr/lical/bin/python import os,sys from xm ...
- cocos2dx C++ imageView(图片/九宫格)相关属性大全
ImageView * imageView = ImageView::create("cocosui/ccicon.png");//新建图片 imageView->setSc ...
- jQuery UI 中Tabs Ajax载入时出现Http 304的问题
最近发现jQueryUI中tabs的ajax载入,总是会出现304未修改的情况,明明数据有变化的么~应该返回200才对. 于是尝试在beforeLoad中设置: ui.ajaxSettings.cac ...
- 开源unittest测试报告源码BSTestRunner.py
开源BSTestRunner 生成HTML测试报告源码: 保存代码到BSTestRunner.py 配合Unittest使用,很完美. python2: """ A Te ...
- SSH--完全分布式主机设置【克隆过安装过Hadoop的主机后】
====准备完全分布式主机的ssh==== 2018-12-21 14:27:47 1.删除所有主机上.ssh下所有文件 2.在s250主机上生成密钥对 $>ssh-keygen -t rsa ...