以下内容若有问题烦请即时告知我予以修改,以免误导更多人。
本次内容总结了个人遇到的部分数组应用,其中不乏前端笔试高频考点。
1. 数组翻转方法2
eg:这里说明一下,这个方法用的不是reverse,因为一次面试中被问过不用reverse实现翻转,所以这里标注为数组的翻转方法2。1
2
3
4
5
6
7
8
9<script>
var arr=[1,2,3,4];
var arr2=[];
while(arr.length) {
var num=arr.pop();
arr2.push(num);
}
alert(arr2);
</script>
2. 首字母大写
eg:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<script>
var str = 'welcome to china';
var arr = str.split(' ');
var arr2 = [];
for(var i = 0; i < arr.length; i++) {
var first = arr[i].charAt(0).toUpperCase();
var other = arr[i].substring(1);
arr2.push(first + other);
}
alert(arr2.join(' '));
//正则写法
var str2 = str.replace(/\w+/g, function(s) {
return s.charAt(0).toUpperCase() + s.substring(1);
})
alert(str2);
</script>
3.快速清空数组
- length=0;
- arr=[];
- arr.splice(0,arr.length);
- 循环pop或shift
4. 数组排序方法
更多方法见后续排序算法篇
1 | <script> |
5. 数组内查找元素是否存在
1 | <script> |
6. 数组去重的多种方法
(1)findInArr
1 | <script> |
(2)json(自动从小到大排序)
1 | <script> |
1 | <script> |
(3)sort()
1 | <script> |
(4) indexOf
这个方法是在前端公众号偶然看到的,数组的indexOf方法第一次用到
1 | <script> |
(5)二分法
1 | <script> |
(6)Map(ES6)
Map的存取使用单独的get()、set()接口。
1 | <script> |
(7)Set(ES6)
Set不允许重复元素出现。
1 | <script> |
(8)Array.filter
1 | var arr = ['A', 'B', 'C']; |
1 | filter |
补一个字符串的应用
(1) 字符串中出现次数最多的字符
- json
1 | var str = 'abcdaaaaaa'; |
- 正则
1 | 字符串中出现次数最多的字符 |
更多内容可以订阅本人微信公众号,一起开启前端小白进阶的世界!