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零碎记忆的更多相关文章

  1. php获取服务器信息常用方法(零碎知识记忆)

    突然整理下零碎小知识.......加深下印象: $info = array( '操作系统'=>PHP_OS, '运行环境'=>$_SERVER["SERVER_SOFTWARE& ...

  2. ES6中Arguments和Parameters用法解析

    原文链接 译文 ECMAScript 6 (也称 ECMAScript 2015) 是ECMAScript 标准的最新版本,显著地完善了JS中参数的处理方式.除了其它新特性外,我们还可以使用rest参 ...

  3. ES6入门之Generator函数

    Generator Generator函数是ES6提供的一种异步编程解决方案,Generator函数是一个状态机,封装了多个内部状态. 执行Generator函数会返回一个遍历器对象,也就是说,Gen ...

  4. 前端综合学习笔记---异步、ES6/7、Module、Promise同步 vs 异步

    同步 vs 异步 先看下面的 demo,根据程序阅读起来表达的意思,应该是先打印100,1秒钟之后打印200,最后打印300.但是实际运行根本不是那么回事 console.log(100) setTi ...

  5. JS 中 原生方法 (二) --- 数组 (修---添加ES6新增)

    const arr = [1, 2, 3, 5, 'a', 'b'] /** * * length * 这个只能被 称之为 数组的原生属性, 返回 一个 number * arr.length */ ...

  6. ES6之Promise的基本用法

    之前多次看过阮一峰的ES6教程,对Promise也简单的理解过,但是,由于没在项目中运用过,所以记忆的并不深刻,昨天在进行项目的改良,有一个地方需要用到Promise 所以就这样写了: onload函 ...

  7. for循环中let与var的区别,块级作用域如何产生与迭代中变量i如何记忆上一步的猜想

    我在前一篇讨论let与var区别的博客中,顺带一笔带过了let与var在for循环中的不同表现,虽然解释了是块级作用域的影响,但具体是怎么去影响的呢,我尝试的去理解了下,这篇博客主要从for循环步骤拆 ...

  8. es6入门1-- let与var的区别详解

    一.前言 说到做到,现在暂时放了放JS模式的读书笔记,打算好好看看ES6,毕竟出了这么久了,还是靠JS吃饭的,都不好好学JS新特性,确实说不过去,我本来是想当读书笔记去记录ES6,但是这个确实是属于边 ...

  9. 【JS复习笔记】03 继承(从ES5到ES6)

    前言 很久以前学习<Javascript语言精粹>时,写过一个关于js的系列学习笔记. 最近又跟别人讲什么原型和继承什么的,发现这些记忆有些模糊了,然后回头看自己这篇文章,觉得几年前的学习 ...

随机推荐

  1. (第二章第三部分)TensorFlow框架之读取二进制数据

    系列博客链接: (第二章第一部分)TensorFlow框架之文件读取流程:https://www.cnblogs.com/kongweisi/p/11050302.html (第二章第二部分)Tens ...

  2. .net core项目搭建swagger接口实现简单增删改查

    .net core搭建swagger 1,新建立.net core项目(这里不再细说) 2,引入NuGet程序包 3,建立项目之后在Startup类中配置swagger 这里我直接把代码贴出来: 在C ...

  3. 含变量的字符串拼接(string.Format()或$"")

    含变量的字符串拼接,一般不要用 + 来连接字符串,可用以下两种方式: 一.string.Format() 二.$""  (在C#6以上的版本中可用,推荐这种写法) 1 public ...

  4. 2022年官网下安装RabbitMQ最全版与官网查阅方法

    目录 一.Erlang环境部署 1.百度搜索"Erlang",或者访问网址:https://www.erlang.org/,找到DOWNLOAD双击进入. 2.找到支持的windo ...

  5. 微信小程序两点之间的距离

    1:申请key: https://lbs.qq.com/dev/console/application/mine 网址: https://note.youdao.com/ynoteshare/inde ...

  6. tp5怎么防sql注入 xss跨站脚本攻击

    在 application/config.php 中有个配置选项 框架默认没有设置任何过滤规则,你可以是配置文件中设置全局的过滤规则 则会调用这些函数 自动过滤 // 默认全局过滤方法 用逗号分隔多个 ...

  7. 谈谈对mvc 的认识?

    由模型(model),视图(view),控制器(controller)完成的应用程序由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;MVC 是一个设计模式,它强制性的使应用程序的输入.处 ...

  8. php 23种设计模式 - 备忘录模式

    备忘录模式 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象.备忘录模式属于行为型模式. 介绍 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该 ...

  9. 【黑马程序员C++ STL】学习记录

    黑马程序员 2017 C++ STL 教程(STL 部分已完结) 基于黑马STL课程整理:黑马程序员2017C++STL教程 视频链接 专栏:本STL专栏目录 文章目录 黑马程序员 2017 C++ ...

  10. CentOS7.5环境下Docker基本操作

     1. 查找Docker中Centos镜像文件 docker search centos 2. 下载Docker中Centos镜像文件(默认下载最新版本) docker pull centos 3. ...