美文网首页
前端笔试之去重算法

前端笔试之去重算法

作者: KIHO_2658 | 来源:发表于2018-12-19 23:14 被阅读0次

在前端的笔试当中,算法是不必可少的一部分。它考验的是你的逻辑思维,你的编程基础。所以在这一章中,本人也就拿一个经典的面试题来讲解一下。

通常前端的算法语言一般采用的是Javascript,本人在这一次的算法讲解当中采用Javascript来讲解,如果是学后端的同学的话一般采用的是java、c++、python。但是算法的思路是一致的,只是语言的不同而已,并不影响我们去理解算法。

这一次,我们就一个不算太难的例子来讲解一下,他就是数组去重~~~~~~
题目:编写一个方法 去掉一个数组的重复元素

首先定义一个数组array

var array =[1,2,3,4,5,6,5,4,2,5,6,8,9,6];

实现方法我这里提供比较基础的两种

第一种:原生基础

这里用函数进行封装了一下

            function removerepeat(array){
                var temp=[];
                var result=[];
                for(var i =0;i<array.length;i++){
                    //判断是否存在
                    if(!temp[array[i]]){
                        temp[array[i]]=1;
                        //添加元素
                        result.push(array[i]);
                    }
                }
                //返回结果数组
                return result;
            }

PS:temp可以定义为一个数组,也可以定义为json格式{}。都可以用来存储数据temp里面存放的是存在的数据,循环遍历下来,把存在的数据都编为1,然后再添加到result数组之中。如果重复了的则不进入if里面。

第二种:使用indexOf属性

这里我也是用了一个函数封装,代码如下

           function removerepeat2(array){
                var result=[];
                for(var i=0;i<array.length;i++){
                      if(result.indexOf(array[i])<0){
                          result.push(array[i]);
                      }
                }
                return result;
                
            }

PS:在这里我讲解一下indexOf的属性,indexOf属性是返回你所寻找的数在数组字符串中的位置,如果找不到这个数的话,就会返回-1。

测试结果的话,使用console.log在控制台输出(本人采用谷歌浏览器)。

console.log(removerepeat(array));
console.log(removerepeat2(array));

我们打开网页,按F12打开控制台,就会看见如下结果。


image.png

OK,本次算法的分享就到这里,虽然简单,但是要认真对待。如有更好算法欢迎分享

相关文章

  • 前端笔试之去重算法

    在前端的笔试当中,算法是不必可少的一部分。它考验的是你的逻辑思维,你的编程基础。所以在这一章中,本人也就拿一个经典...

  • js数组分组和去重

    分组 去重 笔试中经常出现的js数组排序与去重算法

  • js数组去重算法总结

    一、去重 我在前端面试过程中遇到去重算法的概率为百分之九十,这里就总结下各种去重算法及其复杂度 1. new Se...

  • 2020-01-19做些js的数组练习吧

    1.前端面试必问之数组去重 前端面试必问之数组去重 2.前端面试必问之深拷贝浅拷贝 3.

  • 数组去重

    数组去重 数组去重是前端笔试或面试中经常出现的一道题,伴随着 ECMAScript(后文缩写为 ES) 的发展,它...

  • JavaScript面试笔试题

    JavaScript前端面试 系列文章: HTML及HTTP面试笔试题CSS面试笔试题 JS一些算法题: FE-i...

  • 《前端算法系列》数组去重

    虽然算法在前端开发中很少会得以使用,但是了解常用的算法,熟悉各种算法的性能和优劣,将会让你在前端的道路上走的更远。...

  • 前端要掌握的几种排序算法

    因为之前面试有问到快排,昨天笔试又有做到关于排序算法的题,所以特地看了一下关于排序算法。前端对算法的要求不高,但是...

  • 面试必备!数组去重的 6 种方法

    在前端的面试或笔试中,经常会碰到让你写一段数组去重的代码,今天就带大家一起来学习数组去重的 6 个方法,所谓人无我...

  • 2019腾讯提前批笔试

    今天的提前批笔试时间是19:30-21:30。不过笔试的题型出乎我的意料,5道算法题,尽管我投的是前端岗。题目还是...

网友评论

      本文标题:前端笔试之去重算法

      本文链接:https://www.haomeiwen.com/subject/cboskqtx.html