数组与字符串常用方法
split() 将字符串分割成数组
str.split(‘分隔符’, 返回数组最大的长度)
根据分隔符(字符串或者正则表达式)将一个字符串分割成数组。
const str = 'wind rain fire';
const arr = str.split(' ');
console.log(arr); // arr['wind', 'rain', 'fire']
join() 数组连接成一个字符串
arr.join(‘分隔符’)
分隔符默认值为,
将数组(或一个类数组对象)的所有元素使用分隔符连接成一个新字符串。
const arr = ['wind', 'rain', 'fire'];
const str = arr.join('+');
console.log(str); // wind+rain+fire
字符串快速排序
const strSort = str => str.split('').sort().join('');
strSort(str);
map() 创建新数组
arr.map(callback)
创建一个新数组,新数组的每个元素都是 callback 函数的结果。
const arr = [1, 2, 3];
const newArr = arr.map(num => num * 2);
console.log(newArr); // newArr[2, 4, 6]
数组取最大最小值
Math.max.apply(null, arr); // 取数组最大值
Math.min.apply(null, arr); // 取数组最小值
ES6 扩展 rest 不定参数写法:
Math.max(...arr); // 取数组最大值
Math.min(...arr); // 取数组最小值
filter() 数组中取通过测试的值
filter(fn)
创建一个新数组, 其包含通过 fn 函数测试返回值为 true 的所有元素。
let [...arr] = [1, 2, 4, 7, 6];
const isOdd = num => num % 2;
let odd = arr.filter(isOdd); // odd is [1, 7]
slice() 取一部分数组
slice(start, end)
- start, end 数组下标
返回一个从 start 到 end(不包括 end)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改。
let arr = ['a', 'b', 'c', 'd'];
let arr13 = arr.slice(1, 3);
console.log(arr); // ['a', 'b', 'c', 'd']
console.log(arr13); // ['b', 'c']
如果参数为负数,例如start = -3, end = -1
,就表示倒数第三位到倒数第一位,不包括
reduce() 数组求和
let arr = [1, 3, 5];
let sumArr = arr.reduce((sum, value) => sum + value, 0);
// sumArr is 9.
sum 上一次调用回调返回的值,或者是提供的初始值 0;
num 数组中正在处理的元素;
0 可选项,其值用于第一次调用 callback 的第一个参数 sum。如果没有设置初始值,则将数组中的第一个元素作为初始值。空数组调用 reduce 时没有设置初始值将会报错。
repeat()
str.repeat(n)
创建 n 个 str 的副本,将其连接在一起返回一个新的字符串。
'ha'.repeat(3); // 'hahaha'
'ha'.repeat(2); // 'haha'
match() 字符串中正则取值
str.match(regx)
方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,返回匹配值构成的数组。
The MIT License (MIT)
Copyright (c) 2019, Roojay.
本文链接:https://roojay.com/pages/4b02d38a/