1. function unique (arr) {
  2. return Array.from(new Set(arr))
  3. }
  4. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  5. console.log(unique(arr))
  1. function unique(arr){
  2. for(var i=0; i<arr.length; i++){
  3. for(var j=i+1; j<arr.length; j++){
  4. if(arr[i]==arr[j]){ //第一个等同于第二个,splice方法删除第二个
  5. arr.splice(j,1);
  6. j--;
  7. }
  8. }
  9. }
  10. return arr;
  11. }
  12. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  13. console.log(unique(arr))
  1. function unique(arr) {
  2. if (!Array.isArray(arr)) {
  3. console.log('type error!')
  4. return
  5. }
  6. var array = [];
  7. for (var i = 0; i < arr.length; i++) {
  8. if (array .indexOf(arr[i]) === -1) {
  9. array .push(arr[i])
  10. }
  11. }
  12. return array;
  13. }
  14. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  15. console.log(unique(arr))
  1. function unique(arr) {
  2. if (!Array.isArray(arr)) {
  3. console.log('type error!')
  4. return;
  5. }
  6. arr = arr.sort()
  7. var arrry= [arr[0]];
  8. for (var i = 1; i < arr.length; i++) {
  9. if (arr[i] !== arr[i-1]) {
  10. arrry.push(arr[i]);
  11. }
  12. }
  13. return arrry;
  14. }
  15. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  16. console.log(unique(arr))
  1. unction unique(arr) {
  2. if (!Array.isArray(arr)) {
  3. console.log('type error!')
  4. return
  5. }
  6. var arrry= [];
  7. var obj = {};
  8. for (var i = 0; i < arr.length; i++) {
  9. if (!obj[arr[i]]) {
  10. arrry.push(arr[i])
  11. obj[arr[i]] = 1
  12. } else {
  13. obj[arr[i]]++
  14. }
  15. }
  16. return arrry;
  17. }
  18. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  19. console.log(unique(arr))
  1. function unique(arr) {
  2. if (!Array.isArray(arr)) {
  3. console.log('type error!')
  4. return
  5. }
  6. var array =[];
  7. for(var i = 0; i < arr.length; i++) {
  8. if( !array.includes( arr[i]) ) {//includes 检测数组是否有某个值
  9. array.push(arr[i]);
  10. }
  11. }
  12. return array
  13. }
  14. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  15. console.log(unique(arr))
  1. function unique(arr) {
  2. var obj = {};
  3. return arr.filter(function(item, index, arr){
  4. return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true)
  5. })
  6. }
  7. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  8. console.log(unique(arr))
  1. function unique(arr) {
  2. return arr.filter(function(item, index, arr) {
  3. //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
  4. return arr.indexOf(item, 0) === index;
  5. });
  6. }
  7. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  8. console.log(unique(arr))
  1. function unique(arr) {
  2. var array= arr;
  3. var len = array.length;
  4.  
  5. array.sort(function(a,b){ //排序后更加方便去重
  6. return a - b;
  7. })
  8.  
  9. function loop(index){
  10. if(index >= 1){
  11. if(array[index] === array[index-1]){
  12. array.splice(index,1);
  13. }
  14. loop(index - 1); //递归loop,然后数组去重
  15. }
  16. }
  17. loop(len-1);
  18. return array;
  19. }
  20. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  21. console.log(unique(arr))
  1. function arrayNonRepeatfy(arr) {
  2. let map = new Map();
  3. let array = new Array(); // 数组用于返回结果
  4. for (let i = 0; i < arr.length; i++) {
  5. if(map .has(arr[i])) { // 如果有该key值
  6. map .set(arr[i], true);
  7. } else {
  8. map .set(arr[i], false); // 如果没有该key值
  9. array .push(arr[i]);
  10. }
  11. }
  12. return array ;
  13. }
  14. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  15. console.log(unique(arr))
  1. function unique(arr){
  2. return arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);
  3. }
  4. var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  5. console.log(unique(arr));
  1. [...new Set(arr)]
  1. var arr = [{
  2. "name": "ZYTX",
  3. "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
  4. "gender": "AAAAAA.doc"
  5. }, {
  6. "name": "ZYTA",
  7. "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
  8. "gender": "BBBBBB.doc"
  9. }, {
  10. "name": "ZDTX",
  11. "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
  12. "gender": "CCCCCC.doc"
  13. }, {
  14. "name": "ZYTX",
  15. "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
  16. "gender": "AAAAAA.doc"
  17. }];
  18. var hash = {};
  19. arr = arr.reduce(function(item, next) {
  20. hash[next.name] ? '' : hash[next.name] = true && item.push(next);
  21. return item
  22. }, [])
  23. console.log(arr);
  1. //去空
  2. function filter_array(array) {
  3. return array.filter(item=>item);
  4. }
  5. //调用
  6. var arr1 = [undefined,undefined,1,'','false',false,true,null,'null'];
  7. console.log(filter_array(arr1));

js 数组去重、去空(收藏)的更多相关文章

  1. js数组去重五种方法

    今天来聊一聊JS数组去重的一些方法,包括一些网上看到的和自己总结的,总共5种方法(ES5). 第一种:遍历数组法 这种方法最简单最直观,也最容易理解,代码如下: var arr = [2, 8, 5, ...

  2. JS数组去重的6种算法实现

    1.遍历数组法 最简单的去重方法,实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中:注意点:判断值是否在数组的方法"indexOf"是ECMAScript5 方法 ...

  3. js 数组去重小技巧

    js 数组去重小技巧 Intro 今天遇到一个问题,需要对数据进行去重,想看一下有没有什么比较方便的方法,果然有些收获. Question 问题描述: 我有一个这样的数据: [ { "Pro ...

  4. JS数组去重的几种常见方法

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  5. js数组去重的方法(转)

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

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

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

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

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

  8. js数组去重常用方法

    js数组去重是面试中经常会碰到的问题,无论是前端还是node.js数组常见的有两种形式,一种是数组各元素均为基本数据类型,常见的为数组字符串格式,形如['a','b','c'];一种是数组各元素不定, ...

  9. js 数组去重方法汇总

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  10. js数组去重 javascript版

    //js数组去重 //思路: // 1.放入第一个元素 // 2.放入第n个元素,和第n个之前的元素就行比较,如果有重复,则跳过.没有重复就加入数组中 // 3.返回新的去重后数组 Array.pro ...

随机推荐

  1. 新版create-react-app+webpack4跨域

    src/setupProxy.js  创建文件 const proxy = require('http-proxy-middleware'); module.exports = function(ap ...

  2. Other-Website-Contents.md

    title: 本站目录 categories: Other sticky: 10 toc: true keywords: 机器学习基础 深度学习基础 人工智能数学知识 机器学习入门 date: 999 ...

  3. ROS手动编写服务端和客户端service demo(C++)

    service demo 原理和 topic 通信方式很像 点击打开链接,因此 1.srv : 进入 service_demo 创建 srv 文件夹,创建 Greeting.srv,将以下代码插入: ...

  4. 配置Jupyter Notebook

    配置Jupyter Notebook 1 修改Jupyter Notebook的工作目录 Jupyter默认打开的是用户目录,使用如下步骤自行修改: CMD生成Jupyter配置文件: (python ...

  5. Spring注解不生效

    如果在使用spring中,发现注解不生效,检查下如下配置是否配置. 1:一般情况下@Autowired默认是不生效的,配置之后,才会生效 <context:annotation-config / ...

  6. ansible 错误记录(1)

    基本环境:docker基于centos7 在docker里面安装ansible 不管是在root还是普通用户下执行 ansible all -m ping  都报如下错误: 172.20.1.1 | ...

  7. Tkinter 之Grid布局

    一.参数说明 参数 作用 column  指定组件插入的列(0 表示第 1 列)默认值是 0 columnspan  指定用多少列(跨列)显示该组件 row  指定组件插入的行(0 表示第 1 行) ...

  8. 报错:Table 'sell.hibernate_sequence' doesn't exist

    错误信息:Table 'sell.hibernate_sequence' doesn't exist 错误原因:实体主键没有配置主键自增长 完整配置如下 /**主键id*/ @Id @Generate ...

  9. fdisk交互

    fdisk交互 命令 说明 指令 a 设置可引导标记 toggle a bootable flag b 编辑bsd磁盘标签 edit bsd disklabel c 设置DOS操作系统兼容标记 tog ...

  10. Java 关于日期加一天(日期往后多一天)

    1.原来Java的日期添加不像.NET的.Add: import java.util.Date ; Date date=new   Date();//取时间System.out.println(dat ...