文档章节

8_引用类型(【五】object练习去掉数组的重复项)

1217528969
 1217528969
发布于 2015/03/02 14:32
字数 230
阅读 15
收藏 0
//数组过滤重复值
//1  把数组转成js的对象
//2  把数组中的值变成js对象中的key
//3  把这个对象的key转换为数组
var arr = [2, 1, 2, 10, 2, 3, 5, 5, 1, 10, 13];

//数组转换为对象
function array2obj(arr){
    var obj = {};
    for(var i=0; i<arr.length; i++){
        obj[arr[i]] = 1;
    }
    /*
    也可以使用ECMAScript5中的新方法forEach()
    arr.forEach(function(currentValue, index, array) {
        obj[currentValue] = 1;
    });
    */
    return obj;
}

//对象转换为数组
function obj2array(obj){
    var arr = [];
    for(var attr in obj){
        //使用hasOwnProperty()方法判断是否为对象自身的属性,而不是对象的原型的属性
        if(obj.hasOwnProperty(attr)){
            arr.push(attr);
        }
    }
    return arr;
}

//综合的方法 去掉数组中的重复项
function uniq(arr){
    return obj2array(array2obj(arr));
}

//数组排序方法
function compare(value1, value2){
    return value1 - value2;
}

var uniqArr = uniq(arr);
console.info(uniqArr.sort(compare));


© 著作权归作者所有

共有 人打赏支持
1217528969
粉丝 1
博文 27
码字总数 14810
作品 0
济南
私信 提问
第三章 数组相关操作

编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间。 2. 编写一个循环,将整数数组中相邻的元素置换。例如,Array(1,2,3,4,5)经过置换后变为Array(2,1,4...

小萝卜_
2016/06/08
39
0
2018-5-31 JavaScript面试题

前端面试题,保持更新...... 一、数组去重 1.1 常规方法 1.2 ES6新特性 二、去除字符串中的空格 2.1 trim()方法 trim():只能去除两边的空格,无法去除中间的空格 trimLeft():去除左边的空格...

瑾瑜爱上猫
2018/05/31
0
0
javaScript中的BOM和DOM对象

1、前端部分: HTML CSS js(javascript): 2、js的历史: js的版本变迁:ES6 ES2015(ECMAScript) js hello world 3、对话框 alert confirm prompt 变量和常量 常见运算符 4、数据类型 7种...

AAA年华
2017/12/11
0
1
JS数组去重复

面试前端必须准备的一个问题:怎样去掉Javascript的Array的重复项。据我所知,百度、腾讯、盛大等都在面试里出过这个题目。 这个问题看起来简单,但是其实暗藏杀机。 考的不仅仅是实现这个功...

阿联酋挖石油
2016/06/02
30
0
JavaScript创建对象方式总结

今天阅读了JavaScript高级程序设计的第6章,关于对象创建的方式,这里做下总结,巩固下知识 JavaScript创建对象的五种方式: 一、通过字面量或Object构造函数创建 1、示例: 2、优点:简单灵...

kolbe
2016/05/30
185
0

没有更多内容

加载失败,请刷新页面

加载更多

利用神器BTrace 追踪线上 Spring Boot应用运行时信息

概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值、外部调用情况 以及 函数执行时间等信...

CodeSheep
36分钟前
3
0
OSChina 周四乱弹 —— 我想过年请假提前回家两天

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 分享王力宏的单曲《爱错》 《爱错》- 王力宏 手机党少年们想听歌,请使劲儿戳(这里) @Caremorele :这几天起床有点...

小小编辑
今天
59
5
Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
3
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部