javascript数组去重复
数组去重
知乎上看到有人去腾讯面试,然后发了面试的js题目,有一个是数组去重
我的土办法
var arr = ['a', 'g', 'q', 'd', 'a', 'e', 'q'];
console.log(arr);
var d = {}
for (var x in arr) {
d[arr[x]] = 1;
}
arr = []
for (var x in d) {
arr.push(x);
}
console.log(arr);
别人家的代码 - 高端大气
var arr = ['a', 'g', 'q', 'd', 'a', 'e', 'q'];
Array.prototype.unique = function() {
for (var i = 0; i < this.length; i++) {
for (var j = i + 1; j < this.length; j++) {
if (this[i] == this[j]) {
this.splice(j, 1);
}
}
}
return this;
};
console.log(arr.unique());
// 作者: Dreawer
// 链接: https: //zhuanlan.zhihu.com/p/25685164
没有对比就没有伤害
差别在于对api的不熟悉,思维就局限了,常用对象多熟悉:
JavaScript Array 对象
javascript数组去重复的更多相关文章
- Javascript - 数组去重复
这里我使用的场景是将表单中所有的input的值塞入数组中,然后通过去除重复的值.如果数组的长度和原数组的长度一致,说明没有重复,如果不一致(少于)则报错 //通过$.unique对数组进行“去重”,再 ...
- php数组去重复代码
php数组去重复数据示例,有时候获得的php数组中总是出现value重复的,使用下面的方法就可以去掉重复数据 以数字开头的重复数据如: Array ( [0] => 100 [k1] =&g ...
- js 数组去重复的方法
数组去重复是js中常用的方法,归纳了四种如下: 1. for + indexOf 去重复 var arr = [3,5,5,4,1,1,2,3,7,2,5]; var target = []; fo ...
- 漫谈数组去重复方法(亮点是ES6的新API)
方法1: 利用遍历的思想来进行. <!DOCTYPE html><html lang="en"><head> <meta charset= ...
- Js数组去重复取唯一值
function isBigEnough(element) { return element >= 10; } var filtered = [12, 5, 8, 130, 44].filter ...
- php首字母 大写 数组去重复
$zimu[]=strtoupper(substr( $value['title'], 0, 1 ));//大写 $zimu[]=strtolower(substr( $value['title'], ...
- JS 数组去重复值
var arr1 = [90, 91, 92]; var arr2 = [80, 81]; var arr3 = [80, 71, 72, 73]; var arr = arr1.concat(50, ...
- JavaScript数组删除重复元素(去重)的方法
1. var arr=str.split(""); ;arr.length->i;i++){ ;j<arr.length;j++){ if(arr[j]==arr[i] ...
- 数组去重复及记录重复个数(以及遍历map的四种方法)
private static void check(String[] array) { // 字符串数组中,含有不重复的字符串有哪些?每一个重复的个数 Map<String,Integer> ...
随机推荐
- i386、i586、i686、noarch、x86_64
xxxxxxxxx.rpm <== RPM的格式,已经经过编译且包装完成的rpm文件. xxxxxx.src.rpm <== SRPM的格式,包含未编译的源代码信息. 例如rp-p ...
- 怎样把vector和string数据传给旧的C API
通常情况下.旧的C API使用数组合char*指针来进行数据交换而不是vector或string对象. 这种API还将存在非常长的一段时间,假设我们想有效地使用STL.我们就必须与它们和平共处. ...
- 用自定义的RoundImageView来实现圆形图片(可加边框)
本文的控件来自:http://blog.csdn.net/alan_biao/article/details/17379925 这个控件不同于之前介绍过的那个框架,这个仅仅能过将图片裁剪为圆形,没能弄 ...
- 显卡、显卡驱动、CUDA、cuDNN之间的关系
作者:冬瓜哥链接:https://www.zhihu.com/question/59184480/answer/166167659来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- Git: Push rejected 的解决方案
Push rejected: Push to origin/master was rejected 首先,git init (在工程文件夹下) git remote add [-t <branc ...
- [转]MySql ibdata1文件太大如何缩小
From : http://blog.chinaunix.net/uid-24373487-id-4223322.html 原文地址:MySql ibdata1文件太大如何缩小 作者:emailwht ...
- [转]有关Apache alias的一点问题
转自:http://www.thinkphp.cn/topic/11973.html Apache 的Alias 指令映射URL到文件系统的特定区域 一个简单的例子: Alias /mytest /w ...
- 百度统计数据的UV和IP为什么不一样?
相信网站站长们在每天查看百度统计数据时会发现网站的IP和UV数据时大时小,有时候IP比UV大,有时候UV比IP大,站长们可能对这些情况感到奇怪.今天就和大家分享一下UV和IP的知识,帮助大家更好地做好 ...
- 7.3 netty3基本使用
由于dubbo默认使用的是netty3进行通信的,这里简单的列出一个netty3通信的例子. 一 server端 1 Server package com.hulk.netty.server; imp ...
- Python3 使用 matplotlib 画折线图
ChartUtil.py import matplotlib.pyplot as plt from pylab import mpl def plotLine(xData,yData,xLabel,c ...