文档章节

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

1217528969
 1217528969
发布于 2015/03/02 14:32
字数 230
阅读 15
收藏 0
点赞 0
评论 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():去除左边的空格...

瑾瑜爱上猫
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
《Java编程思想》第四版读书笔记 第十六章 数组

16.1 数组为什么特殊 数组与其他种类的容器之间的区别有三方面:效率、类型和保存基本类型的能力。在Java中数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性序...

一万
2016/07/05
49
0
JS不同类型之间的转化处理

一.js类型:基本类型和复合类型 基本类型常用的就是: 数字类型(整数和浮点数) 字符串类型 布尔类型 null和未被定义 复合类型就是: 数组 对象 二.最常用类型转化方法 1.转为字符串 var dt...

透笔度
2016/02/14
44
0
new Java对象占用内存分析

最近在读《深入理解Java虚拟机》,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好:...

pricker
2015/08/13
0
0
Java反射获取类和对象信息概念解析

反射可以解决在编译时无法预知对象和类是属于那个类的,要根据程序运行时的信息才能知道该对象和类的信息的问题。 在两个人协作开发时,你只要知道对方的类名就可以进行初步的开发了。 获取类...

ChinaUnicom110
06/07
0
0
php中二维数组去重小记[转]

数组中重复项的去除 一维数组的重复项: 使用array_unique函数即可,使用实例如下: PHP <?php $aa = array("apple", "banana", "pear", "apple", "wail", "watermalon"); $bb = arrayunique......

fzxu_05
2016/11/07
6
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

TextView设置行间距、字体间距

一、设置行间距 1、设置行间距:android:lineSpacingExtra,取值范围:正数、负数和0,正数表示增加相应的大小,负数表示减少相应的大小,0表示无变化 2、设置行间距的倍数:android:lineSpa...

王先森oO
2分钟前
0
0
适配器模式

适配器模式(Adapter):将一个类的接口转换成客户端希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器用于连接两种不同种类的对象,使其毫...

阿元
2分钟前
0
0
CoreText进阶(四)-文字行数限制和显示更多

CoreText进阶(四)-文字行数限制和显示更多 用例和效果 Demo:CoreTextDemo 效果图: 默认的截断标识和自定义的截断标识符效果图  点击查看更多之后的效果图  为了可以设置显示的行数以...

aron1992
4分钟前
0
0
nginx的五种负载算法

nginx的五种负载算法 2017年04月26日 15:01:11 阅读数:1297 1.round robin(默认) 轮询方式,依次将请求分配到各个后台服务器中,默认的负载均衡方式。 适用于后台机器性能一致的情况。 挂...

linjin200
7分钟前
0
0
Android RecyclerView快速上手

RecyclerView mainMenu = findViewById(R.id.fragmentMain); mainMenu.setLayoutManager(new GridLayoutManager(getActivity(),4)); mainMenu.setAdapter(new MainAdapter......

燕归南
9分钟前
0
0
RabbitMQ实战:理解消息通信 

应用RabbitMQ的5种队列 一、简单队列 P:消息的生产者 C:消息的消费者 红色:队列 简单队列的生产者和消费者关系一对一 但有时我们的需求,需要一个生产者,对应多个消费者,那就可以采用第...

spinachgit
10分钟前
0
0
Linux的使用技巧:到底要不要会用?[图]

Linux的使用技巧:到底要不要会用?[图] 最近有个项目接近了尾声,要进入到调试测试阶段。这是一个使用Springboot框架为后台程序,mpvue构建的小程序项目。服务器我最终仍旧选择了Linux操作系...

原创小博客
11分钟前
0
0
记elasticdump 备份数据导出导入

版本: elasticsearch 5.5.2 elasticdump 2.2 系统 CentOS7.3 因项目需求 从生产导出一份索引到测试 帮助文档 https://github.com/taskrabbit/elasticsearch-dump?utm_source=dbweekly&utm_m......

雁南飞丶
12分钟前
0
0
saltstack配置目录管理

1.服务端配置 -接着编辑之前的 top.sls 文件 #vim /srv/salt/top.sls //修改为如下 base: 'slaver.test.com': - filedir -新建 filedir.sls 文件 # vim /srv/salt/filedir.sls file-dir: fi......

硅谷课堂
12分钟前
0
0
python日期时间

日期和时间 Python内建的datetime模块提供了datetime、date和time类型。datetime类型结合了date和time,是最常使用的: In [102]: from datetime import datetime, date, timeIn [103]:...

火力全開
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部