美文网首页
扩展js原生Array的能力

扩展js原生Array的能力

作者: 红叶1942 | 来源:发表于2019-04-12 11:35 被阅读0次

我们在日常面试中,会遇到让扩展原生js对象能力的题目。

今天我们就来练习一下对array的扩展。

题目要求如下:

请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组?

在这里我们需要知道的技能点,有如下几个

  • 在函数中,this是调用函数的对象,比如[1].push(),在push函数中,this就是[1]
  • Map对象是键值对唯一的
  • for of函数的使用

我们上代码

  (function(){
  Array.prototype.pure = function() {
    const arr = Array.from(this);
    let map = new Map();
    let tempArr = [];
    for(let item of arr) {
      map.has(item) ? tempArr.push(item) : map.set(item, item);
    }
    return tempArr;
  };
  window.console.log([111, 3, 5, 6, 11, 5, 1, 6, 1].pure());
})()

相关文章

  • 扩展js原生Array的能力

    我们在日常面试中,会遇到让扩展原生js对象能力的题目。 今天我们就来练习一下对array的扩展。 题目要求如下: ...

  • 手写cache框架

    是否需要兼容,是否可扩展--原生js 遵循开闭原则 扩展性 应用简单 面向接口的设计

  • 使用原生js实现复制对象及扩展

    使用原生js实现复制对象,扩展对象,类似JQuery中的extend()方法

  • React 基础知识

    react 有手机 app 扩展库 --ReactNative 使用原生 JS 开发手机 app React 开发...

  • ES6新增特性(二)

    ES6 的内置对象扩展 Array 的扩展方法 一、Array 的扩展方法 1. 扩展运算符(展开语法) 扩展运算...

  • Weex iOS扩展

    Weex扩展说明 weex可扩展性,赋予了它强大的能力,它可以开放回调将部分事情交给原生去执行,也可以原生注册实体...

  • Array扩展

    Array.prototype.indexOf(value) : 得到值在数组中的第一个下标 Array.prot...

  • 某D的面试准备知识点

    js基础&es6 原生方法Array.prototypejoin() 方法将数组(或一个类数组对象)的所有元素连接...

  • React(一)JSX是如何变成DOM的

    1.jsx本质,和js的关系? js的语法扩展,和模板语言很接近,充分具备js的能力。是React.createE...

  • iOS开发 - 数组内容比对是否完全相等

    添加对Array的扩展

网友评论

      本文标题:扩展js原生Array的能力

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