JS-数组、字符串、对象方法总结

一、数组方法

迭代(遍历)方法:forEach()、map()、filter()、some()、every();

1、forEach()

array.forEach(function(currentValue, index, arr))
currentValue: 数组当前项的值
index: 数组当前项的索引
arr: 数组对象本身

2、filter()

array.filter(function(currentValue, index, arr))
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素, 主要用于筛选数组
注意它直接返回一个新数组
currentValue: 数组当前项的值
index: 数组当前项的索引
arr: 数组对象本身

3、some()

array.some(function(currentValue, index, arr))
some() 方法用于检测数组中的元素是否满足指定条件. 通俗 点 查找数组中是否有满足条件的元素
注意它返回值是布尔值, 如果查找到这个元素, 就返回true , 如果查找不到就返回false.
如果找到第一个满足条件的元素,则终止循环. 不在继续查找.
currentValue: 数组当前项的值
index: 数组当前项的索引
arr: 数组对象本身

二、字符串方法

1、trim()

方法会从一个字符串的两端删除空白字符。 trim() 方法并不影响原字符串本身,它返回的是一个新的字符串。trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。

2、padStart()padEnd()

padStart()用于头部补全,padEnd()用于尾部补全。共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串

常见用途:

  • 为数值补全指定位数
    '123456'.padStart(10, '0') // "0000123456"
  • 提示字符串格式
    '09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"

3、replace()、replaceAll()

replace()只能替换第一个匹配。返回一个新字符串,不会改变原字符串。

'aabbcc'.replace('b', '_') // 'aa_bcc'

要替换所有的匹配,不得不使用正则表达式的g修饰符。

'aabbcc'.replace(/b/g, '_') // 'aa__cc'

replaceAll()方法,可以一次性替换所有匹配。(ES2021)

'aabbcc'.replaceAll('b', '_') // 'aa__cc'

replaceAll()的第二个参数replacement除了为字符串,也可以是一个函数,该函数的返回值将替换掉第一个参数searchValue匹配的文本。

'aabbcc'.replaceAll('b', () => '_') // 'aa__cc'

 

三、对象方法

1、Object.keys() 

Object.keys() 方法返回一个所有元素为字符串的数组。效果类似 for…in

Object.keys(obj)

2、Object.defineProperty()

Object.defineProperty() 定义新属性或修改原有的属性。

Object.defineProperty(obj, prop, descriptor)
obj:必需。目标对象
prop:必需。需定义或修改的属性的名字
descriptor:必需。目标属性所拥有的特性
 
Object.defineProperty() 第三个参数 descriptor 说明:
value: 设置属性的值
writable: 值是否可以重写。true | false
enumerable: 目标属性是否可以被枚举。true | false
configurable: 目标属性是否可以被删除或是否可以再次修改特性 true | false

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(js,js,javascript)