专栏首页web前端教室js数组去重的思路与缓动公式

js数组去重的思路与缓动公式

前端开发的面试中,至少有一类题是必出的,那就是去重。什么叫去重呢?就是把一组字符串中重复出现的,都删除掉。

这种题重要的是解决的思路要正确,思路正确的话其实也很简单。无非就是一个for循环,然后把每个字符都在一个临时的对象上进行保存与比较。

思路如下:

1,使用for循环,循环每一个字符;

2,将循环的结果,保存在变量之中,这个变量,可以是对象,也可以是数组;

3,在每次循环中设置适当的if判断条件

伪代码:

var _v = 'adfaf';
var str = {};
str['a'] = 123;
str['b'] = 456;
for(...){
 if( 第i个字符 in 临时对象中 ){
 str[_v[i]]++;
 } else {
 就将此第i个字符,添加到对象中
 str[_v[i]] = 1;
 }
}

这类面试题所考核的知识点之一,就是对于js对象的键值对的知识点的掌握。

////////

arguments与arguments.callee,今天对它也进行了着重的讲解。虽然我个人觉得面试题中提到它并不多,但做为一个js的知识点,也是需要讲解的。

<!-- arguments -->

它,也是一个对象,但同时它是函数的内置属性。

它非常类似于数组,但又不是数组。

它有length长度方法,可以使用[n]来获取arguments成员;

但不能使用数组的相关方法。

它的length,长度是由实参决定的,而不是形参。

就是说,你向某函数中传入多少个值,

那么此函数的auguments的长度就是多少,

与此函数的形参无关。

<!-- -->

arguments有一个属性:callee [kɔ:ld],被召者,被叫,

它返回的是,此arguments对象它所在的当前函数的引用。

它在使用的时候,一般用来代替,“当前函数的名称”。

事实上,在递归中对于arguments.callee的应用比较多。

递归:

function xxx(n){
 if(n>1){
 <!-- xxx() -->
 arguments.callee(n-1);//代替,“当前函数的名称”
 }
}

////////

下午的时候主要讲了缓动公式。我们日常在用js或css来写页面动画的时候,需要用到一些动画函数,这些函数中已经封装好了各种的数学公式,以各种js或css方法的形式出现,

例如,

Linear:无缓动效果;easeIn;easeOut;easeInOut...

缓动公式其实长这样,

这些都是数学公式在js程序代码中的应用与实现。讲这些东西不是要让大家去推导这些数学公式,而是想让你们明白,咱们使用的各种动画函数,到底是如何起作用的。

通过各种实例来让大家了解并掌握上面那些知识点,因为它们是组成前端知识结构的细节。一句话,只是为了“知其然”。

本文分享自微信公众号 - web前端教室(webfeel),作者:老尚

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • js不好学并不是因为它难,而是因为它容易混淆

    这段时间我主讲的前端零基础课,让我感觉js这东西是越来越简单了。你当然可以说我这是越讲课越熟。确实是有这部分因素,但更主要的是,我发现js中虽然有许多的概念各不...

    web前端教室
  • 对于零基础同学来讲,javascript有多难掌握?

    你是零基础,那么你用什么方式,可以快速的实现js的运用自如呢? Javascript是一门脚本语言,它没有复杂的内存管理,只有一个进程,变量随便什么都可以储存...

    web前端教室
  • web前端零基础课-0908*福祥-学习笔记

    学了部分js内容后,完成了网站首页部分动态效果(搜索栏、侧边导航条、轮播图),先用最基本的,冗余最多的一步步实现;后面对Js进行了初步的封装,重新构建了Js文件...

    web前端教室
  • Android中js和原生交互的示例代码

    砸漏
  • 如何将CAD工作空间添加快捷键?

    可能大家都发现了,用惯了CAD低级版本换到了高级版本,会突然的不习惯,各种的不适应,还增添了很多的命令快捷键,所以几乎又是得重新学习一样。不过不要紧,只要你稍微...

    FreeRonin
  • SWIFT成立网络安全小组 帮助银行防御高级网络攻击

    用户1697231
  • DeepMind大突破!AI模拟大脑导航功能,学会像动物一样“抄近路”| Nature论文

    这次他们又训练出了一个AI智能体,学会了类似哺乳动物一样的“抄近路”能力,这次研究的目的,就是设法模仿人类大脑,用复杂的方式在周围空间里导航。这是一个前所未有的...

    量子位
  • 深入理解 RequestAnimationFrame

    在Web应用中,实现动画效果的方法很多,Javascript 中可以通过SetInterval来实现,CSS 3可以使用 Transition 和 Animat...

    越陌度阡
  • Hexo搭建 --- 2、Hexo主题安装与配置

    一份执着✘
  • 如何爬取美团网美食

    工作需求需要采集OTA网站的美食数据,某个城市的饭店类型情况等。对于老饕来说这不算个事。。。然而最后的结果是中午晚饭都没有时间去吃了。。。情况如下

    sergiojune

扫码关注云+社区

领取腾讯云代金券