es6零碎记忆
1:substring 和 substr
var str = '0123456789'
console.log(str.substring(1)); //123456789
console.log(str.substr(1)); //123456789
console.log(str.substr(2,5));// 234 区间为[2, 5)
console.log(str.substr(2, 5));// 23456 区间为[2, 2+5-1];
console.log(-4);// 6789截取后四位
console.log(str) 原始字符串不变
2: slice 和 splice
两者都是针对数组的,slice适用于字符串
splice是直接在原始数组上操作的(直接在数组上操作的还有pop(数组末尾删除)/push(数组末末尾添加)/shift(数组首部删除)/unshift(数组首部添加)/sort/reverse/concat)
var arr = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ];
console.log(arr.slice(1)); // [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.splice(1)); // [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr) ; // [0], 被splice砍下的。
arr = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ];
console.log(arr.slice(2, 5)); // [2, 3, 4] 区间为[2, 5)
console.log(arr.splice(2, 5)); // [2, 3, 4, 5, 6] 区间为[2, 2+5-1];
console.log(arr); // [0, 1, 7, 8, 9];
记忆: splice里面有一个p,看起来就像一把刀,直接砍在数组身上。
3:数组扩展:
3.1: 扩展运算符...
3.2: Array.from($1) 将一个类似数组的对象转换为一个数组。
3.3:Array.of($1, $2, $3) 将一组值转换为一个数组。
3.4:Array.copyWithin($1, $2, $3) 表示将索引为$2到索引为$3之间的成员复制到索引为$1的位置上面。
3.5:Array.find((n) => { n > 10}); 表示找到第一个符合条件的数组成员。
3.6:Array.findIndex((n) => { n< 10}) 表示找到第一个符合条件的数组值得索引下标。
3.7:Arrray.fill() // 表示填充一个数组。
['a', 'b'. 'c'].fill(7) [7, 7, 7]
['a', 'b', 'c'].fill(7, 1, 2) ['a', 7, 'c']
3.8: Array.entries()表示对键值对的遍历/Array.keys()表示对键名的遍历/Array.values()表示对键值的遍历
3.9:Array.includes($1) 表示数组中是否包含$1这个元素值。
3.10:ForEach(让数组中的每一项做一件事)
arr.forEach((item, index) => { console.log(item) })
3.11:map(让数组通过某种计算产生一个)
arr.map((item,index) => { return item * 10})
3.12: filter(筛选出数组中符合条件的项,组成新数组)
arr.filter((item, index) => { return item > 3})
3.13:reduce(让数组中的前项和后项做某种计算,并累计最总值)
arr.reduce((prev, next) => { return prev + next})
3.14: every(检测数组中的每一项是否符合条件)
arr.every((item, index) => { return item> 0}) 返回true或者false
3.15:some(检测数组中是否有条件符合条件)
arr.some((item, index) => { return item > 0}) 返回true或者false
4:字符串的扩展?
4.1:string.at($1) 返回字符串给定位置的字符
4.2:string.includes($1) 表示是否找到了参数字符串
4.3:string.startsWith($1) 表示参数字符串是否在源字符串的头部
4.4:string.endsWith($1) 表示参数字符串是否在源字符串的结尾处
includes/startsWith/endsWith 支持第二个参数$2
includes/startsWith 第二个参数表示从第$2个位置到字符串结束位置之间的字符
endsWith第二个参数表示前$2个字符串中。
4.5: string.repeat(n)方法返回一个新的字符串表示元字符重复n次。
4.6: string.padStart(n, $1)/string.padEnd(n, $1) 字符串补全长度
n表示字符串的最小长度 $1表示要补全的字符串。
‘x’.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
'x'.padEnd(5, 'ab')// 'xabab'
'x'.padend(4, 'ab') // 'xaba'
es6零碎记忆的更多相关文章
- php获取服务器信息常用方法(零碎知识记忆)
突然整理下零碎小知识.......加深下印象: $info = array( '操作系统'=>PHP_OS, '运行环境'=>$_SERVER["SERVER_SOFTWARE& ...
- ES6中Arguments和Parameters用法解析
原文链接 译文 ECMAScript 6 (也称 ECMAScript 2015) 是ECMAScript 标准的最新版本,显著地完善了JS中参数的处理方式.除了其它新特性外,我们还可以使用rest参 ...
- ES6入门之Generator函数
Generator Generator函数是ES6提供的一种异步编程解决方案,Generator函数是一个状态机,封装了多个内部状态. 执行Generator函数会返回一个遍历器对象,也就是说,Gen ...
- 前端综合学习笔记---异步、ES6/7、Module、Promise同步 vs 异步
同步 vs 异步 先看下面的 demo,根据程序阅读起来表达的意思,应该是先打印100,1秒钟之后打印200,最后打印300.但是实际运行根本不是那么回事 console.log(100) setTi ...
- JS 中 原生方法 (二) --- 数组 (修---添加ES6新增)
const arr = [1, 2, 3, 5, 'a', 'b'] /** * * length * 这个只能被 称之为 数组的原生属性, 返回 一个 number * arr.length */ ...
- ES6之Promise的基本用法
之前多次看过阮一峰的ES6教程,对Promise也简单的理解过,但是,由于没在项目中运用过,所以记忆的并不深刻,昨天在进行项目的改良,有一个地方需要用到Promise 所以就这样写了: onload函 ...
- for循环中let与var的区别,块级作用域如何产生与迭代中变量i如何记忆上一步的猜想
我在前一篇讨论let与var区别的博客中,顺带一笔带过了let与var在for循环中的不同表现,虽然解释了是块级作用域的影响,但具体是怎么去影响的呢,我尝试的去理解了下,这篇博客主要从for循环步骤拆 ...
- es6入门1-- let与var的区别详解
一.前言 说到做到,现在暂时放了放JS模式的读书笔记,打算好好看看ES6,毕竟出了这么久了,还是靠JS吃饭的,都不好好学JS新特性,确实说不过去,我本来是想当读书笔记去记录ES6,但是这个确实是属于边 ...
- 【JS复习笔记】03 继承(从ES5到ES6)
前言 很久以前学习<Javascript语言精粹>时,写过一个关于js的系列学习笔记. 最近又跟别人讲什么原型和继承什么的,发现这些记忆有些模糊了,然后回头看自己这篇文章,觉得几年前的学习 ...
随机推荐
- MySql的事务及数据的导入导出
Mysql的事务及应用 1.补充数据库的导入与导出 导入 mysql -u root -p database < E:/SS/Test.sql -- 即执行sql文件 导出 -- 结构+数据 m ...
- Python 完美诠释"高内聚"概念的 IO 流 API 体系结构
1. 前言 第一次接触 Python 语言的 IO API 时,是惊艳的.相比较其它语言所提供的 IO 流 API . 无论是站在使用者的角度还是站在底层设计者的角度,都可以称得上无与伦比. 很多人在 ...
- JZ-026-二叉搜索树与双向链表
二叉搜索树与双向链表 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 题目链接: 二叉搜索树与双向链表 代码 /** * ...
- php 23种设计模型 - 工厂模式
工厂模式(Factory) 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在工厂模式中,我们在创建 ...
- Spring MVC 实验3 springMVC框架基础
实验三:spring mvc框架基础 实验目的: (1)理解spring mvc框架的运行流程 . (2)掌握springmvc框架的配置 实验要求: 请根据课程内容, 修改项目中的任意一用例,将控 ...
- Spring MVC 实验2-Bean的几种装配方式及基本用法
实验二:Bean的几种装配方式及基本用法 实验目的: (1)掌握2种基于XML的装配方式:设值注入(Setter Injection)和构造注入(Constructor Injection) . ( ...
- 各种环境下反弹shell
0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或者UDP模式,添加参数 -u 则 ...
- Citus 分布式 PostgreSQL 集群 - SQL Reference(摄取、修改数据 DML)
插入数据 要将数据插入分布式表,您可以使用标准 PostgreSQL INSERT 命令.例如,我们从 Github 存档数据集中随机选择两行. INSERT http://www.postgresq ...
- 使用git clone 报错curl56 errno 10054解决方法
使用git clone 报错curl56 errno 10054解决方法 ----------------版权声明:本文为CSDN博主「伽马射线爆」的原创文章,遵循CC 4.0 BY-SA版权协议,转 ...
- List 操作add 报错
操作List报java.lang.UnsupportedOperationException 2018.03.12 16:52:01字数 230阅读 1683 问题描述 今天在项目中调用List的ad ...