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的系列学习笔记. 最近又跟别人讲什么原型和继承什么的,发现这些记忆有些模糊了,然后回头看自己这篇文章,觉得几年前的学习 ...
随机推荐
- (第二章第三部分)TensorFlow框架之读取二进制数据
系列博客链接: (第二章第一部分)TensorFlow框架之文件读取流程:https://www.cnblogs.com/kongweisi/p/11050302.html (第二章第二部分)Tens ...
- .net core项目搭建swagger接口实现简单增删改查
.net core搭建swagger 1,新建立.net core项目(这里不再细说) 2,引入NuGet程序包 3,建立项目之后在Startup类中配置swagger 这里我直接把代码贴出来: 在C ...
- 含变量的字符串拼接(string.Format()或$"")
含变量的字符串拼接,一般不要用 + 来连接字符串,可用以下两种方式: 一.string.Format() 二.$"" (在C#6以上的版本中可用,推荐这种写法) 1 public ...
- 2022年官网下安装RabbitMQ最全版与官网查阅方法
目录 一.Erlang环境部署 1.百度搜索"Erlang",或者访问网址:https://www.erlang.org/,找到DOWNLOAD双击进入. 2.找到支持的windo ...
- 微信小程序两点之间的距离
1:申请key: https://lbs.qq.com/dev/console/application/mine 网址: https://note.youdao.com/ynoteshare/inde ...
- tp5怎么防sql注入 xss跨站脚本攻击
在 application/config.php 中有个配置选项 框架默认没有设置任何过滤规则,你可以是配置文件中设置全局的过滤规则 则会调用这些函数 自动过滤 // 默认全局过滤方法 用逗号分隔多个 ...
- 谈谈对mvc 的认识?
由模型(model),视图(view),控制器(controller)完成的应用程序由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;MVC 是一个设计模式,它强制性的使应用程序的输入.处 ...
- php 23种设计模式 - 备忘录模式
备忘录模式 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象.备忘录模式属于行为型模式. 介绍 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该 ...
- 【黑马程序员C++ STL】学习记录
黑马程序员 2017 C++ STL 教程(STL 部分已完结) 基于黑马STL课程整理:黑马程序员2017C++STL教程 视频链接 专栏:本STL专栏目录 文章目录 黑马程序员 2017 C++ ...
- CentOS7.5环境下Docker基本操作
1. 查找Docker中Centos镜像文件 docker search centos 2. 下载Docker中Centos镜像文件(默认下载最新版本) docker pull centos 3. ...