es6中新增数组的方法

news/2024/7/8 4:55:28

1. Array.from

这个东西就是把一些集合,或者长的像数组的伪数组转换成真的数组,比如arguments,js选择器找到dom集合,
还有对象模拟的数组
var obj = {
'0' : 1,
length : 1
}
Array.from(obj / arguments / 伪数组) //返回的是一个数组
[].slice.call(arguments, 0) //这种方式根from方法是一样的效果

//Array.from还有第二个参数,是一个回掉函数,功能类似map
Array.from( [1, 2, 3], item => item * 2 )

2. Array.of

Array.of(1, 2, 3, 4)    //把参数合并成一个数组返回,如果参数为空,则返回一个空数组

3. copyWithin

//这个东西用的不多,但是很有意思
//首先,参数有3个
//1: 被替换的起始位置   2: 选取替换值的起始位置   3: 选取替换值得结束位置
let arr = [1, 'c', 'd', 'a', 'b'];  //假如我想把a,b替换到1的位置
arr.copyWithin(0, 3, 5)   // ["a", "b", "d", "a", "b"]

4. find/findIndex

//find  返回数组中第一个符合条件的元素, findIndex返回索引
[1, 2, 3, 4, 5].find(function(item){
    return item > 3
})

5. fill

//功能一: 字面意思填满,实际功能就是把数组中的每一个元素替换成指定值
let arr = [1, 2, 3, 4]
arr.fill(5)        //arr全变成了5

//功能二:指定范围替换,这功能似曾相识啊
arr.fill(6, 1, 3) //使用6 替换数组中 下表为1-3范围的值, 范围是下标>=1 && <3 的位置。
//猛的一看以为功能和splice一样呢,又去巩固了一下。splice是删除某一个元素,然后增加指定的个数,并且它第一个参数是下标起点,第二个参数是个数,而不是结束下标。

//扩展
[].fill.call( { length : 3 }, 4)  //结果为以为是数组,每个元素是4,结果返回的竟然还是对象。。。

6. entries/keys/values

let arr=['a', 'b', 'c']
for(let key of arr.keys()){}                     //取键
for(let value of arr.values()){}                //取值;不能直接使用,有兼容性问题,甚至谷歌
for(let [key, value] of arr.entries()){}       //都取

7.inludes

var a = function(){}
[1, 2, 3, 4, a].includes(a)    //true
[1, 2, 3, 4, NaN].includes(NaN)    //true

转载于:https://www.cnblogs.com/sunheng/p/7852744.html


http://www.niftyadmin.cn/n/1999552.html

相关文章

nvidia控制面板点了没反应win7_Win7系统打不开Nvidia控制面板提示“停止工作”怎么办...

众所周知&#xff0c;显卡是win7系统电脑中比较重要的部件&#xff0c;如果显卡出现问题&#xff0c;会导致显示屏打不开或者显示画面看不请&#xff0c;还好Win7系统中有个Nvidia控制面板&#xff0c;能够对显卡进行设置&#xff0c;提升显卡功能。但有用户说打不开Nvidia控制…

历史上死的最窝囊的十个男人

历史上死的最窝囊的十个男人 评选的标准是&#xff1a;入选的人都是是当时的英雄人物。所谓是指他们或者由于不应该有的失误&#xff0c;或者由于命运的捉弄&#xff0c;很丢人地死去了&#xff0c;根本不符合自己的地位。而如果他们不死&#xff0c;是很有可能改变历史的。…

python文件操作学习笔记

#文件操作&#xff1a;读&#xff1a;f open("/Users/zhouhaijun/python/01.py","r")x f.read()print x写&#xff1a;f open("/Users/zhouhaijun/python/file_01.py","wb")f.write("ok")f.close()读:f open("/Use…

php 依赖注入 数据库切换_PHP控制反转(IOC)和依赖注入(DI)

先看一个例子&#xff1a;<?phpclass A {public $b;public $c;public function A(){//TODO}public function Method(){$this->bnew B();$this->cnew C();$this->b->Method();$this->c->Method();//TODO} }class B {public function B(){//TODO}public fu…

Windows 进程

系统进程 [system process] alg.exe csrss.exe ddhelp.exe dllhost.exe explorer.exe inetinfo.exe internat.exe kernel32.dll lsass.exe mdm.exe mmtask.tsk mprexe.exe msgsrv32.exe mstask.exe regsvc.exe rpcss.exe services.exe smss.exe snmp.exe spool32.exe spoolsv.e…

jrtplib 打包做了哪些事_渠道推广运营要做哪些事?

一篇文章让运营人学会渠道推广&#xff01;进了一家教育公司&#xff0c;里面有一个岗位叫做学科&#xff0c;这个职业的工作主要分两个部分&#xff0c;一个叫做渠道&#xff0c;一个叫做招生&#xff0c;所以&#xff0c;学科是干什么的&#xff0c;不言而喻。所谓渠道&#…

#!/usr/bin/env python与#!/usr/bin/python的区别

脚本语言的第一行&#xff0c;目的就是指出&#xff0c;你想要你的这个文件中的代码用什么可执行程序去运行它&#xff0c;就这么简单 #!/usr/bin/python是告诉操作系统执行这个脚本的时候&#xff0c;调用/usr/bin下的python解释器&#xff1b;#!/usr/bin/env python这种用法是…

docker from指令的含义_Docker Dockerfile 指令详解与实战案例

Dockerfile介绍及常用指令&#xff0c;包括FROM&#xff0c;RUN&#xff0c;还提及了 COPY&#xff0c;ADD&#xff0c;EXPOSE&#xff0c;WORKDIR等&#xff0c;其实 Dockerfile 功能很强大&#xff0c;它提供了十多个指令。Dockerfile介绍Dockerfile 是一个用来构建镜像的文本…