【JS】String、Object、Array常用方法

时间:2024-11-26 14:46:47
方法名字 方法使用 返回 参数 返回
concat合并多个数组 arr1.concat(arr2) ['a', 'b', 'c', 'd', 'e', 'f'] 列举所有合并的数组 返回新数组
copyWithin从指定索引开始替换开始到结束位置的值 arr1.copy(0,1,2) ['b', 'b', 'c']

1、开始替换的位置

2、复制的开始位置

3、复制的结束位置

改变数组,长度不变
every数组内所有元素是否通过指定函数的测试 arr1.every((v) => v==='a') false 1、函数条件 返回boolean
fill用固定值填充数组从开始到结束索引的全部元素 arr1.fill('gg', 1,2) ['a', 'gg', 'c']

1、填充值

2、填充的开始位置

3、填充的结束位置

返回修改后的数组
filter创建满足函数的所有元素 arr1.filter((v) => v === 'a') ['a'] 1、函数条件 返回新数组
find返回数组中满足条件的第一个元素 arr1.find(v => v === 'a') 'a' 1、函数条件 返回找到的第一个元素
findIndex返回数组中满足条件的第一个元素的索引 arr1.findIndex(v => v === 'a') 0 1、函数条件 返回找到的第一个元素的索引
findILast返回数组中满足条件的第一个元素 arr1.findILast(v => v === 'a') 'a' 1、函数条件 返回找到的最后一个元素
findILastIndex返回数组中满足条件的最后一个元素的索引 arr1.findILastIndex(v => v === 'a') 0 1、函数条件 返回找到的最后一个元素的索引
flat递归将数组所有元素拼到新数组

[0,1,arr1].flat()

[[0,1],[arr1]].flat(2)

[0,1,'a','b','c']

[0, 1, 'a','b','c']

1、递归的层级,默认1 返回新数组
flatMap对数组每个元素执行回调后,再将结果展开一层 arr1.flatMap((v) => v === 'a' ? [1,2] : 3) [1, 2, 3, 3] 1、函数条件 返回新数组
forEach数组每个元素执行一次给定函数 arr1.forEach(v => console.log(v))

'a'

'b'

'c'

1、函数条件 修改原数组
map数组每个元素执行一次给定函数 arr1.map(v => v)

['a','b','c']

1、函数条件 返回新数组
includes判断数组是否包含指定值 arr1.includes('a', 1) false

1、查找的元素

2、开始查找的索引位置

返回boolean
indexof返回数组中第一次出现元素的索引 arr1.indexOf('b',1) 1

1、查找的元素

2、开始查找位置的索引

返回数组中第一次出现元素的索引
lastIndexof返回数组最后一次出现元素的索引 arr1.lastIndexof('b',0) 1

1、查找的元素

2、开始查找位置的索引

返回数组中最后一次出现元素的索引
join将数组所有元素连成字符串 arr1.join('') 'abc'

1、连接符

返回字符串

keys返回数组中索引的新的数组迭代器对象;

values:返回数组值

arr1.keys()

for (const key of iterator) {
  console.log(key);
}

0

1

2

返回新的数组迭代器对象
pop删除数组最后一个元素 arr1.pop() 'c' 返回删除的数组
shift删除数组第一个元素 arr1.shift() ['b','c'] 返回删除后的原数组
push添加指定元素到数组末尾 arr1.push('1','2') ['a','b','c','1','2'] 1、列举所有添加的值 返回数组长度;修改原数组
unshift添加数组头部 arr1.push('1') ['1','a','b','c'] 1、列举所有添加的值 返回数组长度;修改原数组
reduce对数组每个元素按序执行函数,每次每一次运行结果作为参数传入,最后将结果汇总为单个返回值,数组第一个元素默认当作初始值

arr3 = [1,2,3]

initval = 1

const sum = arr3.reduce((prev, current) => prev + current), initval) 

7

执行顺序是1+1+2+3

1、执行函数

2、初始值

使用“reducer”回调函数遍历整个数组后的结果
reduceRight对数组的每个元素从右往左的顺序依次执行函数,返回单个值

arr1 = [
  [0, 1],
  [2, 3],
  [4, 5],
];

arr1.reduceRight((accumulator, currentValue) =>accumulator.concat(currentValue)
);

[4,5,2,3,0,1]

1、执行函数

2、初始值

返回单个值
reverse反转数组 arr1.reverse() ['c','b','a']

改变原数组;

toReverse返回新数组

slice有开始到结束(不含)的新数组 arr1.slice(0,2) ['a','b']

1、开始位置(含)

2、结束位置(不含)

返回新数组
splice就地删除或者替换已存在的元素或添加新元素 arr1.splice(1,0,'1') ['a','1','c','c']

1、开始位置

2、删除元素个数

3、添加元素

修改原数组;

toSpliced()返回新数组

some测试数组是否至少有一个元素通过执行函数返回true arr1.some(v => v==='a') true 1、执行函数 返回boolean
sort对数组进行排序 [1,7,5].sort() [1,5,7] 将元素转换为字符串,然后按照它们的 UTF-16 码元值升序排序。

改变原数组;

不改变原数组用toSorted()

toString返回字符串 arr1.toString() 'a,b,c' 返回字符串
with在指定位置替换成指定值 arr1.with(1,'1') ['a','1','c']

1、替换的指定位置

2、替换的指定值

返回新数组
Array.from将类数组转成数组 Array.from({'0':'a',length:3}) ['a']
Array.of将一组值转为数组

Array.of(3) 

Array.of(3,5,9)

[3]

[3,5,9]

Array.isArray()判断是否为数组 Array.isArray(arr1) true
Array.of将参数变成数组 Array.of('a','b') ['a','b']