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. ...
随机推荐
- Javascript高级编程学习笔记(66)—— 事件(10)变动事件
变动事件 DOM2级的变动事件,能在DOM中的一部分发生变化时给出提示 变动事件是为XML或HTML DOM 设计的,并不特定于某种语言 DOM2级定义了如下变动事件: DOMSubtreeModif ...
- Python学习笔记【第十三篇】:Python网络编程一Socket基础
什么是⽹络 网络能把双方或多方连在一起的工具,即把数据从一方传递到另一方进行数据传递. 网络编程就是不同电脑上的软件能够进行数据传递.即进程间的通讯. 什么是TCP/IP协议 协议就是大家一起遵守的约 ...
- Python学习笔记【第五篇】:基础函数
一.函数:函数定义关键字def 后跟函数名称 def 函数名(参数): ... 函数体 ... 返回值 案例: # 定义函数 def say_hei( ...
- puppetdb搭建
puppetdb搭建 在agent端跑puppet agent -t 正常的情况下,安装puppetdb 部署postgresql数据库 部署puppetdb 建立puppetserver与puppe ...
- Metasploit Framework(1)基本命令、简单使用
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 基本的控制台命令介绍: banner 查看metasp ...
- python 输入一个字符串,打印出它所有的组合
import itertools str = input('请输入一个字符串:') lst = [] for i in range(1, len(str)+1): lst1 = [''.join(x) ...
- 剑指offer【03】- 从尾到头打印链表(4种实现方法)
题目:从尾到头打印链表 考点:链表 题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 法一:ArrayList头插法 /** * public class ListNode ...
- 插头dp初探
问题描述 插头dp用于解决一类可基于图连通性递推的问题.用插头来表示轮廓线上的连通性,然后根据连通性与下一位结合讨论进行转移. 表示连通性的方法 与字符串循环最小表示不同,这种方法用于给轮廓线上的联通 ...
- Docker学习之2——镜像
镜像(Images) 镜像是Docker的三大核心之一,类似于虚拟机,作用和虚拟机是一样的,唯独是组成部分会有些区别.简单的说如果我们想启动一个容器就必须要有镜像.docker运行容器前需要本地存在对 ...
- Android--UI之Fragment
前言 开门见山开篇名义,本篇博客将讲解一下Android中Fragment的内容,必要的地方会提供相应的演示代码,并且会在最后给出源码下载. 本文主要有以下内容: 什么是Fragment 如何创建一个 ...