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语言刷 DFS题记录

    144. 二叉树的前序遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeN ...

  2. 【高并发】两种异步模型与深度解析Future接口

    大家好,我是冰河~~ 本文有点长,但是满满的干货,以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类,希望大家踏下心来,打开你的IDE,跟着文章看源码,相 ...

  3. jQuery Validatede 结合Ajax 表单验证提交

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. laravel7 H-ui模板ajax修改(资源路由)

    1:列表首页设置点击事件,并将id传至后台,查询数据 <td class="f-14"><a title="编辑" href="ja ...

  5. 前端(react)上传到阿里云OSS存储 实例

    需求背景 由于现有的后台管理系统,上传的视频越来越大,加上上传视频较慢,后端小哥提出直接从前端上传视频或者其他文件到阿里云OSS存储. 阿里云OSS 阿里云OSS文档介绍,这里不做过多赘述 安装 原本 ...

  6. ArcMap问题及解决方案

    1.导出的矢量文件dbf格式用Excel打开后全是乱码怎么解决? 该类问题的部分解决方案是将数据用[表转Execl ] 工具转出来 能根本解决的方法是修改注册表 详细解决方案是: 乱码解决办法:①快捷 ...

  7. AQS 源码解读之加锁篇

    以 ReentrantLock 创建的非公平锁为基础,进行 AQS 全流程的分析. 分析 demo 一共有 A.B.C 三个线程. public class AQSDemo { // 带入一个银行办理 ...

  8. Window7环境下安装Scrapy 方法

    Window7环境下安装Scrapy Scrapy在CPython(默认Python实现)和PyPy(从PyPy 5.9开始)下运行Python 2.7和Python 3.4或更高版本. 如果您使用的 ...

  9. ActiveMQ代码-01

    p2p模式 生产者 package com.activemq.activemqdemo.p2p; import org.apache.activemq.ActiveMQConnectionFactor ...

  10. 了解Redis持久化

    Redis是一个键值对数据库服务器,由于Redis是内存数据库,那么有很多内存的特点,例如掉电易失,或者进程退出,服务器中的数据也将消失不见,所以需要一种方法将数据从内存中写到磁盘,这一过程称之为数据 ...