最近自己也在准备面试,在复习算法的时候,机智的用了一波ES6.一起来瞧瞧吧!
1.数组的去重
- var arr = str.split('');
- for (var i = 0; i < arr.length - 1; i++) {
- for (var j = i + 1; j < arr.length; j++) {
- if (arr[i] == arr[j]) {
- arr.splice(j, 1);
- // arr.length-=1;删完长度自动减1
- j--;
- console.log(arr)
- }
- }
- }
用两层循环来做的话,好像麻烦了点哦。好像ES6中的Set可以用。试试看?
- var arr=[1,3,55,12,32,3,66,12,358,66,73,32];
- var a=new Set(arr);//SET是类数组的集合
- console.log(a,a.size);
- // arr=Array.from(a);将类数组转换为数组
- arr=[...a];//扩展运算符
what ? so easy ,没有那么多逻辑,代码量也很少。简直太酷炫了!!!
2.如何拼接两个数组?
传统的for循环就不多说了,当然concat也是可以的,还是直接上ES6吧!
- var arr1 = [1, 2, 3];
- var arr2 = [4, 5, 6];
- arr1.push(...arr2);
或者是这样的
- var arr1 = [1, 2, 3];
- var arr2 = [4, 5, 6];
- var arr3 = [...arr1, ...arr2];
后面还是会继续写关于算法的问题,或者是ES6的。希望觉得不错的小伙伴,可以点个赞加个关注啥的.
(写第一篇博客的时候,内容过于多,过于杂,以后会走文字少,精简的风格的,毕竟我自己看别人博客的时候,内容过多或者杂的话,就容易脑袋疼)。
PS:从不copy别人的博客,纯自己手打。
posted @2017-09-30 23:16 萝卜爱吃青菜阅读(...) 评论(...)编辑 收藏