ES6字符串、对象、数组不常见但实用的API方法

简介: ES6字符串、对象、数组不常见但实用的API方法

以下所有的方法都是ES6新增的  

1、字符串


1.1 at()方法


作用:

返回字符串给定位置的字符。可以理解为字符串截取,比之前的charAt()好用多了。

例子:

1. 'abc'.at(0)  // 'a'
2. 
3. "你好".at(0) // '你'

1.2 includes()方法


传统上,只有indexof方法可用来确定一个字符串是否在另一个字符串中,ES6又提供了三种方法,三种分别是includes()、startsWith()、endsWith(),这里只说includes方法,因为它最强大,注意,这个方法在数组、对象上依然可以使用,非常强大。

作用:

includes():返回布尔值,表示是否找到了参数字符串;支持第二个参数,表示开始搜索的位置

例子:

let s = 'hello world!'
s.includes('o') //true
s.includes('hello',0) //true

1.3 repeat()


这个方法实际作用不大,但是挺好玩的,就放上来了。

作用:

返回一个新字符串,表示将原字符串重复n次

例子:

'x'.repeat(3) // 'xxx'
'hello'.repeat(2) // 'hellohello'
'na'.repeat(0) // ''
参数如果是小数,会被取整
'na'.repeat(2.9) // 'nana'
参数如果是负数或者Infinity,会报错
如果是 0~1 之间的小数,则等同于0 
参数NAN等同于0
repeat的参数如果是字符串,则会先转换为数字
'na'.repeat('na') // ''
'na'.repeat('3') // 'nanana'

1.4 padStart() 、padEnd()


作用:

指定字符串长度,填充补足长度

例子:

'x'.padStart(5,'ab') //'ababx'
'x'.padStart(4,'ab') //'abax'
'x'.padEnd(5,'ab') //'xabab'
'x'.padEnd(4,'ab') //'xaba'

2.数组


2.1 Array.from()


作用:

将伪数组(有length长度,可遍历但不能用数组api的)转为真数组

一共有三个参数,第一个是转数组的数据;第二个是类似于map()方法对每个元素进行处理;第三个参数用来绑定this

例子:

let arr = {
    "0":'a',
    "1":'b',
    length:2
        }
let arr2 = Array.from(arr) //['a','b']

2.2 Array.of()


作用:

将一组值转换为数组。主要目的是弥补数组构造函数Array()的不足

例子:

Array.of(3,11,8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1
Array.of() // []
Array.of(undefined) // [undefined]

2.3 copyWithin()


作用:

将指定位置的数据复制到其他位置,这个方法会修改数组

有三个参数:target(必选):从该位置开始替换数据;start(可选):从该位置开始读取,默认为0;end(可选):从该位置前停止读取数据

例子:

[1,2,3,4,5].copyWithin(0,3)  // [4,5,3,4,5]
//将3号位复制到0号位
[1,2,3,4,5].copyWithin(0,3,4) // [4,2,3,4,5]

2.4 find()和findIndex()


作用:

find用于找出第一个符合条件的数组成员;findindex和find非常类似,返回符合条件的数组成员的位置,找不到返回-1

2.5 fill()


作用:

使用给定值填充数组

例子:

['a','b','c'].fill(7) // [7,7,7]
['a','b','c'].fill(7,1,2) // ['a',7,'c'] 既包括1 但不包括2

2.6 entries()、keys()、values()


作用:

用于遍历数组,返回一个遍历器对象,可用for…of循环遍历

entries():遍历键值对;keys():遍历键;values():遍历值;

2.7 includes()


作用:

表示某个数组是否包含给定的值,和字符串的类似(很强大,很好用,很推荐)

该方法的第二个参数表示搜索的起始位置,默认为0.如果第二个参数为负数则表示倒数的位置,如果这时他大于数组的长度,则会重置为从0开始

[1,2,3].includes(2) // true
[1,2,3].includes(4) // false
[1,2,NaN].includes(NaN) // true
[1,2,3].includes(3,-1) // true
[1,2,3].includes(3,3) // FALSE

3.对象


3.1 Object.is()


作用:

比较两个值是否相等;用来比较两个值是否严格相等,与===的行为基本一致;

比较对象的时候,比的是引用地址,不是值哈,比较值思路是比较键、值是否一样

例子:

Object.is('foo','foo') //true

3.2 Object.assign()


作用:

复制对象

第一个参数是目标对象,后面的参数都是源对象;是浅拷贝;

他还有很多作用:

为对象添加属性

为对象添加方法

克隆对象

合并多个对象

为属性指定默认值

例子:

let target = {a:1}
let source = {b:2}
Object.assign(target,source)
target // {a:1,b:2}

3.3 es6属性的遍历


for…in :自身和继承的可枚举属性不包含symbol

Object.keys():自身的可枚举属性不包含symbol

Object.getOwnPropertySymbols():自身的所有symbol属性

Object.getOwnPropertyNames():自身的所有属性不包含symbol,但包括不可枚举属性

Reflect.ownKeys() : 自身所有属性,不管是symbol还是字符串也不管是否可枚举

3.4 Object.keys() 、Object.values()、 Object.entries()


和上面讲的数组的一样的作用

3.5 Null传导运算符


作用:

用来判断对象是否具有某属性

例子:

obj?.prop:读取对象属性
a?.b = 42 // 如果a是null或undefined,这句不产生任何效果,否则执行

3.6 Object.getOwnpropertyDescriptors()


作用:

用来返回某个对象属性的描述对象;返回指定对象所有自身属性(非继承属性)的描述对象;主要是为了解决Object.assign()无法正确复制get属性和set属性的问题

3.7 __proto__属性、Object.setPrototypeof()、 Object.getPrototypeof()


作用:

__proto__属性:读取或者设置当前对象的prototype对象(原型)

let obj = {
    name:"123"
    }
obj.__proto__ = someOtherObj

Object.setPrototypeof():设置原型对象

Object.getPrototypeof():读取原型对象

相关文章
|
2天前
|
JSON 安全 API
【专栏】浅谈 REST API 身份验证的四种方法
【4月更文挑战第28天】本文探讨了四种REST API身份验证方法:基本认证、OAuth、JSON Web Token(JWT)和API密钥。基本认证简单但不安全;OAuth适用于授权第三方应用;JWT提供安全的身份验证信息传递;API密钥适合内部使用。选择方法时需平衡安全性、用户体验和开发复杂性。
|
6天前
|
Java API PHP
邮件发送API的方法和步骤
邮件发送API能便捷地自动化发送邮件,提高效率。步骤包括:1. 选择如aoksend、Mailgun或Amazon SES等适合的API;2. 注册并获取API密钥;3. 设置发件人、收件人、主题和内容等参数;4. 根据API文档用Python等语言编写调用代码;5. 调用API发送邮件并处理结果;6. 根据返回信息判断发送是否成功。适用于大量邮件发送场景。
|
6天前
|
API 开发者
邮件API接口使用的方法和步骤
AOKSEND指南:了解和使用邮件API接口,包括选择适合的接口(如AOKSEND、Mailgun、SMTP),获取访问权限,配置发件人、收件人及邮件内容,调用接口发送邮件,并处理返回结果,以高效集成邮件功能。
|
6天前
|
API Python
[AIGC] Python字符串常用API介绍
[AIGC] Python字符串常用API介绍
|
7天前
|
API
邮箱API发送邮件调试的方法和步骤
AokSend指南:调试邮箱API发送邮件涉及确认调试目的、检查参数设置、接口调用、异常处理、日志记录及结果验证。确保参数正确,关注接口返回,记录日志以分析问题,处理异常情况,最终验证邮件发送成功与内容准确性。AokSend提供高效发信服务,支持SMTP/API接口,适用于大量验证码发送。
|
7天前
|
API 开发者
免费邮箱API发送邮件测试调试的方法和步骤
本文介绍了使用免费邮箱API如aoksend、Mailgun、SMTP2GO发送邮件的测试调试步骤:选择合适的API,获取访问密钥,配置邮件参数,编写测试代码,调试和测试,查看发送日志,以及优化改进邮件发送功能,确保其稳定运行。
|
7天前
|
API PHP 数据安全/隐私保护
IMAP邮箱API接收收取邮件的方法和步骤
IMAP邮箱API是用于自动接收和管理邮件的接口,允许程序无须手动登录即可操作邮件。要使用它,需先配置邮箱允许API访问,选择如Python的imaplib或PHP的imap扩展等IMAP库,然后连接到邮箱服务器,接收和处理邮件。处理完毕后断开连接。AokSend提供高效发信服务,支持SMTP/API接口。使用IMAP API能提升邮件管理效率。
|
8天前
|
API 网络安全 数据安全/隐私保护
SMTP邮件邮箱API发送邮件的方法和步骤
使用SMTP邮件邮箱API(如AokSend)发送邮件涉及6个步骤:获取SMTP服务器地址和端口,进行身份验证,构建邮件内容,连接到服务器,发送邮件及处理结果。例如,Gmail的SMTP服务器地址是smtp.gmail.com,端口587。此方法适用于程序化发送邮件,确保安全并支持大规模发信服务。
|
9天前
|
API Python
Relay邮件邮箱API发送邮件的方法和步骤
Relay邮件邮箱API是编程发送邮件的工具,允许用户通过代码实现邮件发送。发送步骤包括:获取API密钥、设置发件人和收件人信息、编写邮件内容,最后调用API发送。Python示例代码展示了如何使用API发送邮件,需替换API密钥和邮箱地址。
|
9天前
|
监控 API 开发工具
邮件中继中转邮箱API发送邮件的方法和步骤
AokSend介绍了使用邮件中继中转邮箱API发送邮件的步骤:理解API概念,获取API密钥,设置发件人和收件人信息,构建并发送API请求,处理响应,监控调试,及完善邮件功能。该服务支持大量验证码发送、触发式接口和高触达SMTP/API接口。选择合适提供商并参考文档可优化邮件发送。