2018-6-3_《ES7的include、ES6的Array.of(),Array.from()及扩展符》

一. ES7的include

//ES7,include—查找数组是否包含某个元素 返回布尔

   let a=[‘OB‘,‘Koro1‘,1,NaN];
    // let b=a.includes(NaN); // true 识别NaN
    // let b=a.includes(‘Koro1‘,100); // false 超过数组长度 不搜索
    // let b=a.includes(‘Koro1‘,-3);  // true 从倒数第三个元素开始搜索
    // let b=a.includes(‘Koro1‘,-100);  // true 负值绝对值超过数组长度,搜索整个数组

  

二. Array.of()

//Array.of()—返回所有参数值组成的数组
//解决构造器参数不全问题,如下:

let arr = new Array(3);  //[undefined, undefined, undefined]
let arr_1 = Array.of(3);  //[3]

  

三. Array.from()

// 1. 对象拥有length属性
let obj = {0: ‘a‘, 1: ‘b‘, 2:‘c‘, length: 3};
let arr = Array.from(obj); // [‘a‘,‘b‘,‘c‘];

// 2. 部署了 Iterator接口的数据结构 比如:字符串、Set、NodeList对象
let arr = Array.from(‘hello‘); // [‘h‘,‘e‘,‘l‘,‘l‘,‘o‘]
let arr = Array.from(new Set([‘a‘,‘b‘])); // [‘a‘,‘b‘]

  

四. 扩展符 ...

// 代替concat
let a = [2, 3, 4, 5]
let b = [ 4,...a, 4, 4]
console.log(a,b); //  [2, 3, 4, 5] [4,2,3,4,5,4,4]

  

原文地址:https://www.cnblogs.com/beesky520/p/9128909.html

时间: 2024-09-27 14:30:48

2018-6-3_《ES7的include、ES6的Array.of(),Array.from()及扩展符》的相关文章

ES6躬行记(2)——扩展运算符和剩余参数

扩展运算符(Spread Operator)和剩余参数(Rest Parameter)的写法相同,都是在变量或字面量之前加三个点(...),并且只能用于包含Symbol.iterator属性的可迭代对象(iterable).虽然两者之间有诸多类似,但它们的功能和应用场景却完全不同.扩展运算符能把整体展开成个体,常用于函数调用.数组或字符串处理等:而剩余参数正好相反,把个体合并成整体,常用于函数声明.解构参数等.此处的整体可能是数组.字符串或类数组对象等,个体可能是字符.数组的元素或函数的参数等.

Es6 学习笔记(一)数组扩展

扩展运算符 ... 1.数组的扩展运算符将一个数组转换成一个逗号分隔的参数序列 console.log(...[1,2,3])   //1,2,3 ['a', 'b',...[1,3]]   //a,b,1,3 2.扩展运算用于函数调用 function push(a, arr){ a.push(...arr); } **************************************************************************************** f

es6 默认参数、rest参数、扩展运算符

1.默认值 现在可以在定义函数的时候指定参数的默认值了,而不用像以前那样通过逻辑或操作符来达到目的了. function sayHello(name){ //传统的指定默认参数的方式 var name = name||'hubwiz'; document.write('Hello '+name); } //运用ES6的默认参数 function sayHello2(name='hubwiz'){ document.write(`Hello ${name}`); } sayHello();  //

ES6新语法之---对象字面量扩展、模板字符串(5)

这节课学习ES6中对象字面量扩展和新增模板字符串 第一部分:对象字面量扩展 1.简洁写法 ES6对于对象字面量属性提供了简写方式. 1.1:属性简写 //传统写法 var x = 2, y = 3, o = { x: x, y: y }; //ES6简洁写法 var x = 2, y = 3, o = { x, //属性名和赋值变量名相同时,可简写 y }; 1.2:方法简写 //传统写法 var o = { x: function() { //... }, y: function() { //

ES6入门系列二(数值的扩展)

ES6 在 Number对象上新增了很多方法 1 .    Number.isFinite()判断是否为有限的数字 和全局的isFinite() 方法的区别是 isFinite('1') === true    ;    Number.isFinite('1') === false 全局的isFinite()先调用Number() 方法  把  变量 转化为数字再进行判断, 所以返回 true, Number.isFinite()只能判断数字, 对于非数字一律返回false 2  ,  Numb

ES6深入浅出-5 新版对象-2.属性修饰符

对象语法增强 已经有了个对象的新增语法 还需要一个api来做呢?. 因为有的时候,你需要在旧的对象上添加get.set. 读的时候就走get 写的时候就走set 假设很早之前在项目里写了一个old对象,它的属性都是写好的,现在想给oldObject加get.set.没有办法再去重新定义它 这个api是给已经定好的对象,来不及再去重新定义的对象修改属性, 这样就可以设置oldObject的值为1. 但是set方法里面什么也没做.所以输出oldObject.x的值为undefined 这个api还有

ES6浅谈--解构,字符串扩展

解构: 1.大括号在句首会被认为是代码块,通过加圆括号可以解决问题,但是在声明语句中不能加圆括号,只有在赋值语句的非模式部分可以. 2.数值和布尔值解构会先转换成对象,然后用其包装对象的toString方法取得值再赋值. 3.解构用途:交换变量值:函数返回多个值取值:参数定义:提取json数据:参数默认值:遍历map:模块方法. 字符串扩展: 1.大括号增加unicode范围识别,另外支持for of遍历字符串. 2.模板字符串可以用于输入html文本,用${}做变量识别,反引号用反斜杠转义,t

ES6、ES7、ES8、ES9、ES10新特性一览

ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言.目前JavaScript使用的ECMAScript版本为ECMA-417.关于ECMA的最新资讯可以浏览 ECMA news查看. ECMA规范最终由TC39敲定.TC39由包括浏览器厂商在内的各方组成,他们开会推动JavaScript提案沿着一条严格的发展道路前进. 从提案到入选ECMA规范主要有以下几个阶段: Stage 0: strawman——最初想法的提交. Stage 1: proposal(提案)——

ES6标准学习: 4、数组的扩展

数组的扩展 一.类数组对象与可遍历对象转换为数组 Array.from()方法用于将类数组对象.可遍历对象转换为数组,其中可遍历对象包括es6新增的set和map结构 所谓的类数组对象,本质特征是必须拥有length属性 1 let arrayLikeObj = { 2 '0': 'a', 3 '1': 'b', 4 '2': 'c', 5 length: 3 6 } 7 8 ES5转换为数组: 9 let arr = [].slice.call(arrayLikeObj) // ['a', '