近期准备面试,看了一些常见的算法,俗话说得好,好记性不如烂笔头,记下来好让自己可以随时回顾复习,写到哪算到哪吧~
1.统计字符串上字母个数
方法一:for循环
![](https://img.haomeiwen.com/i8376922/0a8f6afdc44900df.png)
方法二:用reduce高级算法
![](https://img.haomeiwen.com/i8376922/322067aefb92e464.png)
2.数组去重
方法一:for循环加splice方法
![](https://img.haomeiwen.com/i8376922/ad5df8fe1e256e22.png)
方法二:for循环加创建新数组
![](https://img.haomeiwen.com/i8376922/1390f3cc2e5390cc.png)
方法三:利用reduce高级算法 (emm......感慨一下,reduce很牛逼呀)
/*--arr.reduce(callback,[initialValue]) --*/ reduce这里就先不详细介绍了!
![](https://img.haomeiwen.com/i8376922/0e03c07f750bbb9a.png)
方法四:es6
Array.from()就是把一个类数组对象或者可迭代的对象转换成一个真正的数组;
Set对象:
1.允许存储任何类型的 唯一值 ,无论是原始值或者是对象引用。
2.set中的值的集合,你可以按照插入的顺序迭代它的元素。
3.set中的元素只会出现一次,即 Set 中的元素是唯一的。
下面就是先用new set将数组去重存在set对象里,结果返回一个set对象,然后再用Array.from把set对象转换成数组。
![](https://img.haomeiwen.com/i8376922/87a7a2ced2381aee.png)
网友评论