数据类型:

(栈类型) 原始值:boolen,num,string,null,undefined

(堆类型) 引用值:object,array

首先重新定义一个type()函数,

<script>
function type(target){
var ret = typeof(target);//通过typeof先判断是否属于数组或对象类型,并放入ret
var template = {
'[object Array]':'array',
'[object Object]':'object',
'[object Number]':'number-object',
'[object Boolean]':'boolean-object',
'[object String]':'string-object',
}
if(target===null){
return 'null';//如果target为null,则返回null,注意是三个等于号
}else if (ret == 'object'){
var str = Object.prototype.toString.call(target);//判定数组还是对象的方法之一,toString.call
return template[str];
}else{
return ret;
}
}
</script>

数组去重

<script>
//思路:,给每个数组一个键,组成键值对,如果值没有键,则添加并且放入一个新数组
Array.prototype.unique = function(){
var temp = {},
arr = [],
len = this.length;
for(var i = 0;i<len;i++){
if(!temp[this[i]]){
temp[this[i]]='abc';
arr.push(this[i]);
}
}
return arr;
}
</script>

数组去重(JS)的更多相关文章

  1. 数组去重 JS

    我说的数组去重是这样的: var arr = ['f', 'a',  'b', 'd', 'e', 'g']  ; var str='f'; 去除arr中的str 最简单的是遍历arr与str做比较, ...

  2. javascript数组去重 js数组去重

    数组去重的方法 一.利用ES6 Set去重(ES6中最常用) function unique (arr) { return Array.from(new Set(arr)) } var arr = [ ...

  3. 数组去重-----js 判断字符串中是否包含某个字符串indexOf

    判断obj对象是否在arr数组里面,是返回true const dealArray = (arr, obj) => { Array.prototype.S = String.fromCharCo ...

  4. 高效的数组去重(js)

    function uniqueArray(data){ data = data || []; var a = {}; for (var i=0; i<data.length; i++) { va ...

  5. 数组去重js方式

    var selectmap = new Array(); /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+selectmap.join(&quo ...

  6. 也谈面试必备问题之 JavaScript 数组去重

    Why underscore (觉得这部分眼熟的可以直接跳到下一段了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. ...

  7. js面试题之数组去重对比

    最近看一些面试题,很多都提到了数组去重,用的最多的不外乎就是下面这个例子 arr.filter(function(value,index,arr){ return arr.indexOf(value, ...

  8. js数组去重的4种方法

    js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...

  9. JS 数组去重(数组元素是对象的情况)

    js数组去重有经典的 几种方法 但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现. 因为: 1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致 ...

  10. js中数组去重的几种方法

    js中数组去重的几种方法         1.遍历数组,一一比较,比较到相同的就删除后面的                 function unique(arr){                 ...

随机推荐

  1. Mac OS Eclipse 调试快捷键不好使(失效)的情况

    Eclipse调试使用的F5  F6  F8一直都好用,结果一次调试后忽然不好使. 问题原因,尚未知晓. 解决办法,重启机器.

  2. 剑指offer【05】- 用两个栈实现队列(java)

    题目:用两个栈实现队列 考点:栈和队列 题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 解题思路:每次psuh是时先将stack2清空放入stck1(保 ...

  3. WebSocket(1)---WebSocket介绍

    WebSocket介绍   一.为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很 ...

  4. app 性能

    Android App优化之性能分析工具 https://www.jianshu.com/p/da2a4bfcba68 -------------- 系列文: 背景:Android App优化, 要怎 ...

  5. C语言 标准输入 清空缓存

  6. Deeplearning.ai课程笔记--汇总

    从接触机器学习就了解到Andrew Ng的机器学习课程,后来发现又出来深度学习课程,就开始在网易云课堂上学习deeplearning.ai的课程,Andrew 的课真是的把深入浅出.当然学习这些课程还 ...

  7. PHP中的加强型接口Traits

    接口是对多重继承的一种变相实现, Traits可以被视为一种加强型的接口.   先来看如下代码 trait Hello { private $name = 'chenqionghe'; public ...

  8. Go基础系列:Go接口

    接口用法简介 接口(interface)是一种类型,用来定义行为(方法). type Namer interface { my_method1() my_method2(para) my_method ...

  9. Ubuntu 安装 JDK8 的两种方式

    ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...

  10. springboot调优

    application.properties server.tomcat.max-connections=0 # Maximum number of connections that the serv ...