Last updated on 2023-09-22 10:11
1.求最大值
1.求数组的最大值
方法一:排序
1 2 3 4 5 6 7 8
| let sortArr = arr.sort((a, b) => a - b)
sortArr[0]
sortArr[sortArr.length - 1]
console.log(sortArr[0]); console.log(sortArr[sortArr.length - 1]);
|
方法二:使用扩展运算符
1 2
| console.log(Math.min(...arr)); console.log(Math.max(...arr));
|
方式三:使用reduce方法
1 2 3 4
| let res = arr.reduce((pre, cur) => { console.log(pre + "----" + cur); return pre > cur ? pre : cur; });
|
2.求map的最大值
2.数组去重
方法一:使用reduce方法
1 2 3 4 5 6 7 8
| let arr = [1, 2, 3, 4, 4, 1] let newArr = arr.reduce((pre,cur) => { if(!pre.includes(cur)){ return pre.concat(cur) }else{ return pre } },[])
|
3.字符统计
方法一:使用reduce方法
1 2 3 4 5
| let str = 'abcdaabc'; str.split('').reduce((res, cur) => { res[cur] ? res[cur] ++ : res[cur] = 1 return res; }, {})
|
4.数组压平
方法一:reduce方法
1 2 3 4 5
| let arr = [[0, 1], [2, 3], [4, 5]] let newArr = arr.reduce((pre,cur) => { return pre.concat(cur) },[]) console.log(newArr);
|
算法学习中的小技巧
https://luoynothing.github.io/2023/09/22/算法学习中的小技巧/