es6 语法 (数组扩展)
{
let arr = Array.of(3, 4, 7, 9, 11);
console.log('arr', arr); //[3,4,7,9,11]
let empty = Array.of();
console.log(empty); //[]
}
//ES6为Array增加了from函数用来将其他对象转换成数组。 //当然,其他对象也是有要求,也不是所有的,可以将两种对象转换成数组。 //1.部署了Iterator接口的对象,比如:Set,Map,Array。 //2.类数组对象,什么叫类数组对象,就是一个对象必须有length属性,没有length,转出来的就是空数组。
{
//转换数组
let p = document.querySelectorAll('p');
let pArr = Array.from(p);
pArr.forEach(function(item) {
console.log(item.textContent); //es6,嘿嘿嘿,快乐动起来
});
//map
console.log(Array.from([1, 3, 5], function(item) {
return item * 2
})) //2,6,10
} //数组填充
{
console.log('fill-7', [1, 'a', undefined].fill(7)) // 7,7,7
console.log('fll,pos', ['a', 'b', 'c'].fill('7', 1, 3)); //a 7 7 (1,3)表示起始位置,7为填充内容
}
//遍历相关
{
//取位置
for (let index of['1', 'c', 'ks'].keys()) {
console.log('keys', index); //0 1 2
}
//取值
for (let value of['1', 'c', 'ks'].values()) {
console.log('values', value); //1 c ks (这里有兼容问题,需引入 import 'babel-polyfill')
}
//取位置和值
for (let [index, value] of['1', 'c', 'ks'].entries()) {
console.log('values', index, value); //0 1 2,1 c ks
}
}
//在当前数组内部数组内一个成员赋值到其他地方
{
console.log([1, 2, 3, 4, 5].copyWithin(0, 3, 4)); //4,2,3,4,5 (开始位置0,从第三个开始读起,截止位置为4,即5个数)
console.log([1, 2, 3, 4, 5].copyWithin(1, 3, 4)) //1,4,3,4,5
console.log([1, 2, 3, 4, 5].copyWithin(0, -2, -1)) //4,2,3,4,5
}
//查找
{
console.log([1, 2, 3, 4, 5, 6].find(function(item) {
return item > 3 //4 只找第一个值,不往后了
}));
console.log([1, 2, 3, 4, 5, 6].findIndex(function(item) {
return item > 3 //3 找的是下标
}));
}
//NaN
{
console.log('number',[1,2,NaN].includes(1)); // true 是否包含这个值
console.log('number',[1,2,NaN].includes(NaN)); // true
}
es6 语法 (数组扩展)的更多相关文章
- ES6之数组扩展方法【一】(相当好用)
form 转化为真正的数组 先说一下使用场景,在Js中,我们要经常操作DOM,比如获取全部页面的input标签,并且找到类型为button的元素,然后给这个按钮注册一个点击事件,我们可能会这样操作: ...
- ES6(五) 数组扩展
Array.of方法用于将一组值,转换为数组. Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES ...
- call,apply,bind与es6的数组扩展运算符...
js中每一个Function对象都有一个apply个一个call方法: function.apply(thisObj,[argArray]); function.call(thisObj,arg1,a ...
- 【es6】数组扩展
只有一个参数,为数组中的值.
- ES6数组扩展
前面的话 数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用.ES6标准继续改进数组,添加了很多新功能.本文将详细介绍ES6数组扩 ...
- es6核心特性-数组扩展
1. Array.from() : 将伪数组对象或可遍历对象转换为真数组 如果一个对象的所有键名都是正整数或零,并且有length属性,那么这个对象就很像数组,称为伪数组.典型的伪数组有函数的argu ...
- ES6对数组的扩展(简要总结)
文章目录 数组的扩展(ES6) 1. 扩展运算符 2. Array.from 3. Array.of() 4. copyWithin() 5. find() 和 findIndex() 6. fill ...
- ES6中数组和对象的扩展运算符拷贝问题以及常用的深浅拷贝方法
在ES6中新增了扩展运算符可以对数组和对象进行操作.有时候会遇到数组和对象的拷贝,可能会用到扩展运算符.那么这个扩展运算符到底是深拷贝还是浅拷贝呢? 一..使用扩展运算符拷贝 首先是下面的代码. le ...
- ES6扩展——数组扩展
1.结合扩展运算符使用.通过扩展运算符,在调用函数的时候,把一个数组展开,然后作为这个函数的参数 //结合扩展运算符使用 function foo(a,b,c){ console.log(a); // ...
- es6基础(6)--数组扩展
//数组扩展 { let arr=Array.of(3,4,6,7,9,11);//可以是空 console.log('arr=',arr);//[3,4,6,7,9,11] } { //Array. ...
随机推荐
- 使用《JAVA面向对象编程》总结
抽象和封装 现实世界是“面向对象”的,面向对象就是采用“现实模拟” 的方法设计和开发程序. 面向对象设计是目前计算软件开发中最流行的技术.面向对象设计的过程就是抽象的过程. 类是对某一类事物的描述,是 ...
- GCC的__attribute__ ((constructor))和__attribute__ ((destructor))
通过一个简单的例子介绍一下gcc的__attribute__ ((constructor))属性的作用.gcc允许为函数设置__attribute__ ((constructor))和__attrib ...
- Connect By
connect by 用于存在父子,祖孙,上下级等层级关系的数据表进行层级查询. 语法格式: { CONNECT BY [ NOCYCLE ] condition [AND condition]... ...
- GODOT 3.0 开发进度汇报 #7
由于原文采取了记流水账的方式,觉得没有必要照直翻译了,就只选取了其中的主要信息. GDNative C++ 语言绑定 进行了重写以便Godot更好的生成和处理脚本. D 语言绑定 也正在积极开发中. ...
- Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)
写在前面 本文地址:http://www.cnblogs.com/yilezhu/p/9315644.html 作者:yilezhu 上一篇关于Asp.Net Core Web Api图片上传的文章使 ...
- MySQL(3)---MySQL优化
MySQL优化 一.单表.双表.三表优化 1.单表 首先结论就是,range类型查询字段后面的索引全都无效 (1)建表 create table if not exists article( i ...
- Elasticsearch实践(二):搜索
本文以 Elasticsearch 6.2.4为例. 经过前面的基础入门,我们对ES的基本操作也会了.现在来学习ES最强大的部分:全文检索. 准备工作 批量导入数据 先需要准备点数据,然后导入: wg ...
- hadoop集群无法找到datanode节点问题解决
问题:在配置hadoop集群时,master的50070后台中找不到slave的datanode节点怎么办? 解决: 方法一:首先确认下master和slave的hdfs-site.xml配置中的df ...
- CPU上下文切换
CPU上下文切换包括进程上下文切换.线程上下文切换及中断上下文切换,当任务进行io或发生时间片事件及发生中断(如硬件读取完成)时,就会进入内核态,发生CPU上下文切换. 进程上下文切换,进程的上下文信 ...
- bash内置命令的特殊性,后台任务的"本质"
本文解释bash内置命令的特殊性.前台.后台任务的"本质",以及前.后台任务和bash进程.终端的关系.网上没类似的资料,所以都是自己的感悟和总结,如有错误,120分的期待盼请指正 ...