ES6新增常用方法
字符串新增方法
padStart
、padEnd
如果原字符串不够指定长度,则会在左侧(右侧)填充字符串,用以补全
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
的值,省略则this
为undefined
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新增常用方法的更多相关文章
- es6新增
首先要说let,他是只在代码块中执行的变量,例如: { let a = 10; var b = 1;}console.log(a);//definedconsole.log(b);//1 ...
- ECMAScript简介以及es6新增语法
ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...
- ES6新增的常用数组方法(forEach,map,filter,every,some)
ES6新增的常用数组方法 let arr = [1, 2, 3, 2, 1]; 一 forEach => 遍历数组 arr.forEach((v, i) => { console.log( ...
- ES6新增对象方法的访问描述符:get(只读)、set(只写)
Es6新增对象方法的访问描述符:get(只读).set(只写),可以直接使用,一般用于数据监听,用途类似于vue.$watch. var obj = { a:1, get bar() { return ...
- 浅谈ES6新增数据类型:Symbol
面试中喜闻乐见的问题就是问我们的ES6新增了哪些个新特性 这篇文章一起学习一下新增的数据类型:Symbol JS的原始数据类型:6种Boolean,String,Undefined,NULL,Numb ...
- ES6新增的数据类型Map和Set。
Javascript的默认对象表示方式 {} ,即一组键值对. 但是Javascript的对象有个小问题,就是键必须是字符串.但实际上Number或者其他数据类型作为键也是非常合理的. 为了解决这个问 ...
- es6 新增字符串方法
es6新增了4个字符串处理的方法:startsWith,endsWith,includes,repeat. 1.简单使用 includes()返回布尔值,表示是否找到了参数字符串 startsWith ...
- es6新增功能
声明命令 1. let命令 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.下面代码在代码块之中,分别用let和var声明了两个变量.然 ...
- ES6 新增的一些东西
一.常量 不允许重复定义 const a='HELLO' const a='world'//报错Uncaught SyntaxError: Identifier 'a' has already bee ...
随机推荐
- js前端技术
一.前端技术 1.HTML HTML(hypertext markup language)超文本标记语言,不同于编程语言. 超文本就是超出纯文本的范畴,描述文本的颜色.大小.字体. HTML由一个个标 ...
- IDEA如何像ecplise一样添加jar包?
以前使用ecplise开发代码,现在换成IDEA,有很多操作都不习惯,比如添加jar包.网上可以找到IDEA好几种添加jar包的方法,这里主要介绍在用IDEA开发时如何像ecplise一样添加jar包 ...
- 一键获取linux内存、cpu、磁盘IO等信息脚本编写,及其原理详解
更多linux知识,请关注公众号:一口Linux 一.脚本 今天主要分享一个shell脚本,用来获取linux系统CPU.内存.磁盘IO等信息. #!/bin/bash # 获取要监控的本地服务器IP ...
- Just a Joke HDU - 4969(物理+积分)
题目链接:https://vjudge.net/problem/HDU-4969#author=0 题意:一个人在圆心以V2速度追赶一个以V1的速度进行圆周运动,问在圆心的人能否在不超过D的距离追上他 ...
- PTA 两个有序链表序列的合并
6-5 两个有序链表序列的合并 (15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列. 函数接口定义: List Merge( List L1, List L ...
- [Azure Devops] 获取单元测试的代码覆盖率
1. 获取代码覆盖率 上一篇文章里,我们在 Pipeline 中插入一个单元测试并把所有单元测试都通过作为 Pipeline 通过的硬性要求.除此以外,我们还可以获取单元测试的代码覆盖率,用作衡量代码 ...
- OO电梯系列总结与反思
目录 前言 HW5 度量分析 UML类图与协作图 bug分析 HW6 度量分析 UML类图与协作图 bug分析 HW7 度量分析 UML类图与协作图 bug分析 SOLID原则 感想 前言 紧张刺激的 ...
- BUAA_2020_OO_UNIT1_REVIEW
OO第一单元总结 一.程序结构分析 总的来说,这一学期我才开始正式的接触面向对象的思想,直到pre才开始正式的实践,所以这次作业可能写的有一些混乱,第三次作业也进行了大量重构. 1. 第一次作业 关于 ...
- ES系列(二):基于多播的集群发现实现原理解析
ES作用超强悍的搜索引擎,除了需要具有齐全的功能支持,超高的性能,还必须要有任意扩展的能力.一定程度上,它是一个大数据产品.而要做扩展性,集群自然少不了.然而单独的集群又是不够的,能够做的事情太少,所 ...
- 数据库MySQL四
一.测试题 二.复习 说明:sql中的函数分为单行函数和分组函数 调用语法:select 函数名(实参列表); 1>字符函数 concat(str1,str2,..):拼接字符 substr(s ...