数据类型:

(栈类型) 原始值: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. 使用SAX解析xml文档

    1.首先,在main方法中解析xml文档,具体代码如下: import org.w3c.dom.*; import javax.xml.parsers.DocumentBuilder; import ...

  2. 插头dp初探

    问题描述 插头dp用于解决一类可基于图连通性递推的问题.用插头来表示轮廓线上的连通性,然后根据连通性与下一位结合讨论进行转移. 表示连通性的方法 与字符串循环最小表示不同,这种方法用于给轮廓线上的联通 ...

  3. Excel 逻辑函数if使用方法

    Excel 逻辑函数if使用方法

  4. deque源码3(deque的构造与内存、ctor、push_back、push_front)

    deque源码1(deque概述.deque中的控制器) deque源码2(deque迭代器.deque的数据结构) deque源码3(deque的构造与内存.ctor.push_back.push_ ...

  5. mysql 开发基础系列5 运算符

    1. 算术运算符 2.比较运算符 注意NULL值不能用= 运算符 SELECT * FROM t WHERE c =NULL; -- 需要改成 SELECT * FROM t WHERE c IS N ...

  6. 【python小工具】linux 低权限密码记录 提权小套路

    #!/usr/bin/python import os, sys, getpass, time current_time = time.strftime("%Y-%m-%d %H:%M&qu ...

  7. Java工程师修炼之路(从小白到BAT的两年学习历程)

    ​ 作者:陆小凤 文章首发于:微信公众号[程序员江湖] 前言 在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾 ...

  8. 剑指offer例题分享--7

    前言:继续前面的分享... 面试题31: 代码如下: #include<iostream> #include<limits.h> using namespace std; bo ...

  9. 基础编程复习:输出n以内的所有素数

    暴力遍历:对于1~n以内的每一数i 每一个i只需要考虑2~i开根号以内是否有可以让i整除的数,即(i%x==0)只要满足就不是素数 否则输出 #include<iostream> #inc ...

  10. 1197多行事务要求更大的max_binlog_cache_size处理与优化

    1197多语句事务要求更大的max_binlog_cache_size报错   binlog_cache_size:为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存,提高记录bi ...