字符串新增方法

padStartpadEnd

  • 如果原字符串不够指定长度,则会在左侧(右侧)填充字符串,用以补全

  • padStart( length: number, fillStr?: string )

  • padEnd( length: number, fillStr?: string )

    参数 是否必选 描述
    length true 指定的长度
    fillStr true 要填充的字符串
let str = 'Hello'
console.log(str.padStart(10, 'ha')); //hahahHello
console.log(str.padEnd(10, 'ha')); //Hellohahah

repeat()

  • 将原字符串重复n次后返回
  • repeat (count: number)
let str = 'Hello'
console.log(str.repeat(3)); //HelloHelloHello

includes(), startsWith(), endsWith()

  • includes():判断一个字符串是否包含在另一个字符串中

  • startsWith():判断一个字符串是否在另一个字符串头部

  • endsWith():判断一个字符串是否在另一个字符串尾部

  • startsWith(searchString: string, position?: number)

    参数 是否必选 描述
    searchString true 要搜索的字符串
    position false 要搜索的起始索引
let s = 'Hello world!';
console.log(s.includes('wo')) //true
console.log(s.startsWith('el')); //false
console.log(s.startsWith('el', 1)); //true
console.log(s.endsWith('d')); //false

数组新增方法

Array.from

  • 将其他数据类型转换为数组

  • 其它数据类型包括所有可遍历的字符串、Set、Map等

  • Array.from(iterable: Iterable | ArrayLike): any[]

    参数 是否必选 描述
    iterable true 用于遍历的对象
    ArrayLike false 数组中每个元素需要调用的函数,类似于map()
let str = 'Hello'
console.log(Array.from(str, v => v + 2)); //[ 'H2', 'e2', 'l2', 'l2', 'o2' ]

map()filter()every()some()find()findIndex()

  • map():传入一个回调函数,将原数组映射成一个新数组

  • filter:过滤器。传入一个回调函数,对原数组的每一项按照相同规则做一些转变后返回。

  • every():判断数组中是否每一项都符合条件

  • some():判断数组中是否有一项符合条件

  • find():找到满足条件的一个值立即返回

  • findIndex():找到满足条件的一个值的索引,立即返回

  • array.filter(function(currentValue,index,arr), thisValue)

    参数 描述
    currentValue true 当前元素的值
    index false 当前元素的索引值
    arr false 原数组
    thisValue false 用作this的值,省略则thisundefined
let arr = [1, 5, 7, 3, 2]

let res1 = arr.map((value, index, originArr) => {
return index % 2 === 0 ? value * 2 : value * 3
})
let res2 = let res1 = arr.filter(item => item > 3)
let res3 = arr.every(item => item > 3)
let res4 = arr.some(item => item > 3)
let res5 = arr.find(item => value > 5)
let res6 = arr.findIndex(item => value > 5) console.log(res1); //[ 2, 15, 14, 9, 4 ]
console.log(res2); //[ 5, 7 ]
console.log(res3); //false
console.log(res4); //true
console.log(res5); //7
console.log(res6); //2

reduce()

  • 传入一个回调,对原数组每一项累加求和

  • array.reduce(function(total,currentValue,currentIndex,arr), initialValue)

    参数 是否必选 描述
    total true 初始值, 或者计算结束后的返回值。
    currentValue true 当前元素的值
    currentIndex false 当前元素的索引
    arr false 原数组
    initialValue false 初始值。默认为0
let arr = [1, 5, 7, 3, 2]
let num = arr.reduce((total, pre) => total + pre)
console.log(num); //18

forEach()

  • 循环-迭代

  • array.forEach(function(currentValue, index, arr), thisValue)

    参数 是否必选 描述
    currentValue true 当前元素
    index false 当前元素的索引值
    arr false 原数组
let arr = [1, 5, 7, 3, 2]
arr.forEach(item => console.log(item)) //1 5 7 3 2

对象新增方法

Object.assign()

  • 合并对象,将后面的对象合并到第一个对象中;

  • Object.assign(目标对象, 源对象1,源对象2,...)

  • 同名属性覆盖,不同名属性新增,后面的覆盖前面的

  • 基本数据类型作为源对象时会自动转换为对象再合并

let KangKang = {
age: 24,
name:'kangkang'
}
let Maria = {
age: 21,
name: 'maria',
gender: 'female'
}
let Jane = {
name: 'jane'
}
console.log(Object.assign(KangKang, Maria, Jane)); //{ age: 21, name: 'jane', gender: 'female' }

Object.keys ()Object.value()Object.entries ()

  • Object.keys() :获取对象中属性名的集合
  • Object.value():获取对象中属性值的集合
  • Object.entries ():获取对象中属性名和属性值的集合
let Maria = {
age: 21,
name: 'maria',
gender: 'female'
}
console.log(Object.keys(Maria)); //[ 'age', 'name', 'gender' ]
console.log(Object.values(Maria)); //[ 21, 'maria', 'female' ]
console.log(Object.entries(Maria)); //[ [ 'age', 21 ], [ 'name', 'maria' ], [ 'gender', 'female' ] ]

后续补充……

ES6新增常用方法的更多相关文章

  1. es6新增

    首先要说let,他是只在代码块中执行的变量,例如: {    let a = 10;    var b = 1;}console.log(a);//definedconsole.log(b);//1 ...

  2. ECMAScript简介以及es6新增语法

    ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...

  3. ES6新增的常用数组方法(forEach,map,filter,every,some)

    ES6新增的常用数组方法 let arr = [1, 2, 3, 2, 1]; 一 forEach => 遍历数组 arr.forEach((v, i) => { console.log( ...

  4. ES6新增对象方法的访问描述符:get(只读)、set(只写)

    Es6新增对象方法的访问描述符:get(只读).set(只写),可以直接使用,一般用于数据监听,用途类似于vue.$watch. var obj = { a:1, get bar() { return ...

  5. 浅谈ES6新增数据类型:Symbol

    面试中喜闻乐见的问题就是问我们的ES6新增了哪些个新特性 这篇文章一起学习一下新增的数据类型:Symbol JS的原始数据类型:6种Boolean,String,Undefined,NULL,Numb ...

  6. ES6新增的数据类型Map和Set。

    Javascript的默认对象表示方式 {} ,即一组键值对. 但是Javascript的对象有个小问题,就是键必须是字符串.但实际上Number或者其他数据类型作为键也是非常合理的. 为了解决这个问 ...

  7. es6 新增字符串方法

    es6新增了4个字符串处理的方法:startsWith,endsWith,includes,repeat. 1.简单使用 includes()返回布尔值,表示是否找到了参数字符串 startsWith ...

  8. es6新增功能

    声明命令 1. let命令 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.下面代码在代码块之中,分别用let和var声明了两个变量.然 ...

  9. ES6 新增的一些东西

    一.常量 不允许重复定义 const a='HELLO' const a='world'//报错Uncaught SyntaxError: Identifier 'a' has already bee ...

随机推荐

  1. ASP.NET Core 在 .NET 6 Preview 2 中的更新

    原文:<ASP.NET Core updates in .NET 6 Preview 2>,作者 Daniel Roth .NET 6 预览版 2 现已推出,其中包括许多对 ASP.NET ...

  2. ES6学习笔记(3)- 对象的功能性扩展

    一.什么是对象字面量 对象字面量就是创建对象(Object)的一种简单容易理解的方式,再通俗点就是所谓的键值对的集合.举个简单的例子: let book = { name: 'JavaScript', ...

  3. 2021-2-28 Mark-Java Interview Simple

    2021-2-28 Mark-Java Interview Simple 心动时,还没来得及学会勇敢. 勇敢时,我们已在时光里走散. 简介:2021-2-28日Java面试没能脱口而出或是回答得不好的 ...

  4. C++单重继承分析

    code[class*="language-"], pre[class*="language-"] { color: rgba(51, 51, 51, 1); ...

  5. C语言函数调用完整过程

    C语言函数调用详细过程 函数调用是步骤如下: 按照调用约定传参 调用约定是调用方(Caller)和被调方(Callee)之间按相关标准 对函数的某些行为做出是商议,其中包括下面内容: 传参顺序:是从左 ...

  6. OpenGL光照计算中法线矩阵原理及推到过程

    问题起源 在计算漫反射关照时,需要用到法线,通过法线和光线的点乘值,计算漫反射的产生的光线强度,所以需要从顶点着色器中将法线数据传递到片源着色器中,但是片源着色器中的顶点坐标是经过了模型矩阵变化过的世 ...

  7. Spring Boot 轻量替代框架 Solon 1.3.20 发布

    Solon 是一个微型的Java开发框架.项目2018年启动,参考过大量前人作品:内核0.1m的身材,超高的跑分,以及良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Soc ...

  8. spring5源码编译过程中必经的坑

    spring源码编译流程:Spring5 源码下载 第 一 步 : https://github.com/spring-projects/spring-framework/archive/v5.0.2 ...

  9. python基础(补充):递归的深度

    我们在正经人谁用递归呀一节中,简单的讨论了python中的递归 相信用过python递归的朋友可能都碰到过: RecursionError: maximum recursion depth excee ...

  10. Windows Terminal 安装与配置

    1 安装 安装可以从应用商店安装(直接搜索即可)或者Github安装(可以戳这里): 下载msixbundle格式的文件即可直接打开安装. 2 配置前准备 2.1 下载字体 推荐使用FiraCode, ...