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. c# 导出Excel模板(在项目中有现成的Excel模板)

    在项目中会有导出模板功能,把现成的Excel模板导出去填写之后再进行导入,这里说说怎么导出模板: 模板存放位置: 点击导出模板按钮:  private string currentPath = Pat ...

  2. python刷剑指offer(1-20)(一刷)

    2019/07/28开始刷每天6题,一共66题,刷三遍,9月1号完成. 1.二维数组中的查找: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增 ...

  3. JZ-043-左旋转字符串

    左旋转字符串 题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S, 请你把其循环左移K位后的序列输出.例如,字符 ...

  4. Control Flow in Tensorflow TF中的控制流解析

    写在前面 本文翻译自Tensorflow团队的文章Tensorflow Control Flow Implementation,部分内容加入了笔者自己的理解,如有不妥之处还望各位指教. 目录 概览 控 ...

  5. angularJs 指令的用法

    <!DOCTYPE html><html ng-app='app'><!--A attribute属性:当做属性来使用<div xingoo></div ...

  6. Numpy库基础___三

    ndarray一个强大的N维数组对象Array •ndarray的操作 索引 a = np.arange(24).reshape((2,3,4)) print(a) #[[[ 0 1 2 3] # [ ...

  7. Spring——自动装配的三种实现方式

    依赖注入的本质是装配,装配是依赖注入的具体行为 spring会在上下文中自动寻找,并自动给bean装配属性 自动装配的三种方式 (1).在xml中显式的装配 (2).在java中显式的装配 (3).隐 ...

  8. Arcgis Server发布的带有透明度的地图服务,调用时不显示透明度问题

    问题: 在发布道路地图时候设置地图透明度为50% 使用arcgis API for js 中 ArcGISDynamicMapServiceLayer 调用该地图时,发现透明效果不实现 如下图: 解决 ...

  9. 同一局域网ping ip 失败(可能是你的路由器坑了你)

    事件起源:手机需要通过fiddler代理抓包 一顿操作猛如虎,手机输入ip+端口,芭比q了,连接不上.. 解决思路: 一.保证双方处于同一局域网内 二.查看电脑配置,找到 防火墙,关闭防火墙,再试 三 ...

  10. 74CMS 3.0 任意文件删除漏洞

    一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.0源代码编辑使用GBK编 ...