ES6 新增数组,对象,字符串的方法
1,ES6+ 新增数组方法
Array.from
Array Array.from(arrayLike[, mapFn[, thisArg]]) 将类数组(伪数组)转换成数组
参数: arrayLike 类数组
可选参数: mapFn 类似 map 方法,循环类数组时的回函函数,返回值组成新数组 thisArg mapFn 函数执行时的 this 指向
返回值 根据 arrayLike 生成的新数组
Array.isArray
Boolean Array.isArray(data) 检测数据是否是个数组
参数: data 要检测的数据
返回值: true 数组,false 非数组
Array.of
Array Array.of(element0[, element1[, ...[, elementN]]]) 将参数转成一个数组
参数: elementN 要放入数组中的数据
返回值: 新数组
arr.find
Value arr.find(callback[, thisArg]) 查找数组中满足要求的第一个元素的值
参数: callback 在数组每一项上执行的函数,接收 3 个参数: element 当前遍历到的元素。 index[可选] 当前遍历到的索引。 array[可选] 数组本身
可选参数 thisArg 执行回调时用作this 的对象 返回值 数组中第一个满足所提供测试函数的元素的值,否则返回 undefined
arr.findIndex
Index arr.findIndex(callback[, thisArg]) 查找数组中满足要求的第一个元素的值的索引
参数: callback 针对数组中的每个元素, 都会执行该回调函数, 执行时会自动传入下面三个参数: element 当前元素。 index 当前元素的索引。 array 调用findIndex的数组。 可选参数: thisArg 执行callback时作为this对象的值
返回值: 满足要求的值的索引
arr.flat
Array arr.flat([depth]) 扁平化多维数组
可选参数: depth 指定要提取嵌套数组的结构深度,默认值为 1。
返回值: 一个包含将数组与子数组中所有元素的新数组
arr.flatMap
Array arr.flatMap(function callback(currentValue[, index[, array]]) { // 返回新数组的元素 }[, thisArg]) 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 和 深度值1的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些
参数: callback 可以生成一个新数组中的元素的函数,可以传入三个参数: currentValue 当前正在数组中处理的元素 index可选 可选的。数组中正在处理的当前元素的索引。 array可选 可选的。被调用的 map 数组 可选参数: thisArg 执行 callback 函数时 使用的this 值 返回值: 一个包含将数组与子数组中所有元素的新数组
arr.fill
Array arr.fill(value[, start[, end]]); 用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引
参数: 用来填充数组元素的值。 可选参数: start 起始索引,默认值为0。 end 终止索引,默认值为 arr.length
arr.includes
Boolean arr.includes(valueToFind[, fromIndex]) 判断数组中是否包含一个指定的值
参数: valueToFind 需要查找的值
可选参数: 从 fromIndex 处开始向后查找
返回值: true 代表数组中包含 valueToFind, false 代表数组中不包含 fromIndex
2,ES6+ 新增字符串方法
str.includes
Boolean str.includes(valueToFind[, fromIndex]) 判断字符串是否包含一个指定的值 详细: 参考数组的 includes
str.endsWith
Boolean str.endsWith(searchString[, length]) 判断当前字符串是否是以另外一个给定的子字符串“结尾”
参数 searchString 要搜索的子字符串。 可选参数 length 作为 str 的长度。默认值为 str.length 返回值 如果传入的子字符串在搜索字符串的末尾则返回true;否则将返回 false。
str.startsWith
Boolean str.startsWith(searchString[, position]) 判断当前字符串是否以另外一个给定的子字符串开头
参数 searchString 要搜索的子字符串。 可选参数 position 在 str 中搜索 searchString 的开始位置,默认值为 0,也就是真正的字符串开头处。 返回值 如果传入的子字符串在搜索字符串的开始则返回true;否则将返回 false。
str.repeat
String str.repeat(count) 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本
参数 count 介于0和正无穷大之间的整数。表示在新构造的字符串中重复了多少遍原字符串
返回值 生成的新字符串
模板字符串
模板字面量 是允许嵌入表达式的字符串字面量。你可以使用多行字符串和字符串插值功能。它们在ES2015规范的先前版本中被称为“模板字符串”。
3,ES6+ 新增对象方法
Object.assign
Object Object.assign(target, ...sources) 将所有可枚举属性的值从一个或多个源对象复制到目标对象
参数: target 目标对象 sources 源对象 返回值: 目标对象
Object.is
Boolean Object.is(value1, value2) 判断两个值是否是相同的值。
规则: 两个值都是 undefined 两个值都是 null 两个值都是 true 或者都是 false 两个值是由相同个数的字符按照相同的顺序组成的字符串 两个值指向同一个对象 两个值都是数字并且 都是正零 +0 都是负零 -0 都是 NaN
对象简洁表示法
属性简洁表示
方法简洁表示
属性名表达式
ES6 新增数组,对象,字符串的方法的更多相关文章
- javascript中数组和字符串的方法比较
× 目录 [1]可索引 [2]转换 [3]拼接[4]创建[5]位置 前面的话 字符串和数组有很多的相同之处,它们的方法众多,且相似度很高:但它们又有不同之处,字符串是不可变值,于是可以把其看作只读的数 ...
- JS中数组和字符串的方法大全
数组的方法很多,ECMScript5又提供了好几种方法.有空把之前的云上的笔记整理了一下,方便自己以后查找使用. 一.ECMScript 3的Array.prototype中定义的方法 1.join( ...
- js中的数组对象中的方法解析
concat()方法: 合并两个数组,返回新对象的结果: join()方法 : 把数组内的所有元素加入到一个字符串中,传入的分隔符就是指定的分隔符 pop()方法: 删除数组并返回数组的最后一个元 ...
- 数组去重----es6&es5&数组对象去重
es6方法: 普通数组: 1.使用Array.from(new Set(arr)); /* * @param oldArr 带有重复项的旧数组 * @param newArr 去除重复项之后的新数组 ...
- ES6新增数组的一些思考和使用
ES6数组的新增 伪数组转换为数组的两种方法 Array.from()把一个伪数组转换为一个真正的数组 伪数组:有下标和length,但是不能使用数组方法 let lis = document.que ...
- Array.prototype.sort()对数组对象排序的方法
Array.prototype.sort()方法接受一个参数——Function,Function会提供两个参数,分别是两个进行比较的元素,如果元素是String类型则通过Unicode code进行 ...
- js数组与字符串的相互转换方法
一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 二 ...
- (转)js数组与字符串的相互转换方法
一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 二 ...
- js数组与字符串的相互转换方法 数组常用的方法
1 数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 二 ...
- ES6中的模板字符串使用方法
传统的 JavaScript 语言,输出模板通常是这样写的. $('#result').append( 'There are <b>' + basket.count + '</b&g ...
随机推荐
- MySQL数据库性能优化的八种方式
1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...
- day49-数据类型、约束条件
数据类型: 1.整型--默认情况下都是带有符号的, id int(8)-- 如果数字没有超过9位,默认用0填充,如果数字超出8位,有几位存几位 总结:针对整型字段,括号内无需指定宽度,因为它默认的宽度 ...
- java中String为什么设计成不可变对象
设计成不可变对象为了安全和高效 1.安全方面:举例说明:在文件操作或反射操作的时候需要传递字符串,如果是设计成可变的那么就会造成安全问题 2.高效:举例说明 字符串源码中会将hashcode缓冲下来, ...
- DeepMind公司最新ai技术参加Codeforces击败大部分选手
著名的编程竞赛网站Codeforces发布了一篇名为<AlphaCode(DeepMind) Solves Programming Problems on CodeForce>的文章,将阿 ...
- 如何加快打开网页的速度------通过调节“QoS数据包计划程序”的“限制可保留宽带”实现&如何解决win10可能找不到gpedit.msc的问题
参考:http://www.windowszj.com/news/win10/42119.html http://www.docin.com/p-1510367352.html(QoS数据包计划程序有 ...
- python abseil库(app, flags, logging)总结
absl (Abseil PythonCommon Libraries)(https://abseil.io/docs/python/)是用于构建Python应用程序的Python库代码集合,它包括三 ...
- Redis内存淘汰策略
目录 一.内存淘汰策略重要性 二.Key值过期策略 三.内存淘汰策略 三.Redis内存淘汰策略配置 一.内存淘汰策略重要性 我们都知道redis的性能很高,最主要的原因之一就是redis的数据都在内 ...
- 使用Mathematica做序列的DTFT的几个例子
ListFourierSequenceTransform[{-2, -1, 1, 3, 3, 1, -1, -2}, \[Omega]] ParametricPlot[{Re[%], Im[%]}, ...
- 在surging 微服务引擎下如何搭建webservice和身份验证
一.前言 现实生产中,有一些比较老的系统对外提供的接口都是WebService,尤其是比较老的系统都是围绕ESB进行搭建,而对外提供就需要WebService ,为了更好完善其解决方案,故集成了web ...
- git 从本地仓库提交至远程仓库 报错:error: failed to push some refs to "xxx"
**原因**:远程库里面有个文件,但是本地没有这个文件,比如: README.md,完全提交上去会覆盖之前的文件,所以git会提示报错警告! **解决方案**:如果只有 README.md文件,可以使 ...