JS数组去重整理合集
1.利用splice
var arr = [1,2,3,4,5,6,7,8,9,9,8,7,6,5,4,3,2,1];
function repeat(arr){
for(var i = 0;i<arr.length;i++){
for(var j = i+1;j<arr.length;j++){
if(arr[i] == arr[j]){
arr.splice(j,1);
j--;
}
}
}
return arr
}
console.log(repeat(arr));
//[1, 2, 3, 4, 5, 6, 7, 8, 9]
2.利用reduce
var arr = [1,2,3,4,5,6,7,8,9,9,8,7,6,5,4,3,2,1]
var newArr = arr.reduce((prev, cur) => {
prev.indexOf(cur) === -1 && prev.push(cur);
return prev;
}, []);
console.log(newArr);
//[1, 2, 3, 4, 5, 6, 7, 8, 9]
3.利用Set
function repeat(newarr){
var s = new Set(arr);
var a = [];
for(var i of s){
a.push(i)
}
return a;
}
var a = repeat(arr)
console.log(a)
//[1, 2, 3, 4, 5, 6, 7, 8, 9]
4.利用indexOf
function repeat(newarr){
var array = [];
for(var i=0;i < newarr.length;i++){
if(array.indexOf(newarr[i]) === -1){
array.push(newarr[i])
}
}
return array;
}
console.log(repeat(arr))
//[1, 2, 3, 4, 5, 6, 7, 8, 9]
5.利用includes
function repeat(newarr) {
var array =[];
for(var i = 0; i < newarr.length; i++) {
if( !array.includes( newarr[i]) ) {
array.push(newarr[i]);
}
}
return array;
}
console.log(repeat(arr));
//[1, 2, 3, 4, 5, 6, 7, 8, 9]
6.利用filter
function repeat(newarr) {
return newarr.filter((item, index, arr)=> {
return newarr.indexOf(item, 0) === index;
});
}
console.log(repeat(arr));
//[1, 2, 3, 4, 5, 6, 7, 8, 9]
7.利用封装函数(逻辑简单)
function has(arr, n) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] == n) {
return true; //如果在里面则返回true;
}
}
return false; //否则返回false;
}
function norepeat(myArr) {
var newArr = []; //定义一个空数组,存放符合条件的值;
for (var j = 0; j < myArr.length; j++) {
if (!has(newArr, myArr[j])) { //利用封装好的函数has判断空数组中是否存在当前的值;
newArr.push(myArr[j]); //如果空数组中没有,那么则push进空数组;
}
}
return newArr;
}
console.log(norepeat(arr))
//[1, 2, 3, 4, 5, 6, 7, 8, 9]
JS数组去重整理合集的更多相关文章
- js 数组去重复的方法
数组去重复是js中常用的方法,归纳了四种如下: 1. for + indexOf 去重复 var arr = [3,5,5,4,1,1,2,3,7,2,5]; var target = []; fo ...
- JS 数组去重复值
var arr1 = [90, 91, 92]; var arr2 = [80, 81]; var arr3 = [80, 71, 72, 73]; var arr = arr1.concat(50, ...
- Js数组去重复取唯一值
function isBigEnough(element) { return element >= 10; } var filtered = [12, 5, 8, 130, 44].filter ...
- js 数组去重复键
Array.prototype.deleteEle = function() { var newArr = this; for (var i = newArr.length - 1; i >= ...
- js 数组去重复两种方法一看就懂
var arr=[1,1,2,2,3,5,2];function uniqueArr(arr){ var data=[]; for(var i=0;i<arr.length;i++){ if(d ...
- js 数组去重复
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js数组和字符串去重复几种方法
js数组去重复几种方法 第一种:也是最笨的吧. Array.prototype.unique1 = function () { var r = new Array(); label:for(var i ...
- 11、js 数组详细操作方法及解析合集
js 数组详细操作方法及解析合集 前言 在开发中,数组的使用场景非常多,平日中也涉及到很多数组的api/相关操作,一直也没有对这块内容进行一块整理总结,很多时候就算用过几次这个api,在开发中也很容易 ...
- post/get in console of JSarray/js 数组详细操作方法及解析合集
https://juejin.im/post/5b0903b26fb9a07a9d70c7e0[ js 数组详细操作方法及解析合集 js array and for each https://blog ...
随机推荐
- 数组中重复的数字(Python)
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019-08-13 22:35 # @Author : daryl # @File : ...
- 树卷积神经网络Tree-CNN: A Deep Convolutional Neural Network for Lifelong Learning
树卷积神经网络Tree-CNN: A Deep Convolutional Neural Network for Lifelong Learning 2018-04-17 08:32:39 看_这是一 ...
- 全栈项目|小书架|服务器开发-NodeJS 中使用 Sequelize 操作 MySQL数据库
安装 官网:https://sequelize.org/v5/manual/getting-started.html 安装sequelize及数据库连接驱动 npm install --save se ...
- 【洛谷 P3966】 [TJOI2013]单词(AC自动机,差分)
把单词连起来,中间插入间隔符,同 #include <cstdio> #include <queue> #include <cstring> using names ...
- 1+x学习日志——js获取随机颜色的几种实现方式
因为学习时间比较紧,所以也没多少时间发博客了.后续会慢慢补齐的,下面是代码 /// function randomColor(){ var r = parseInt(Math.random() * 2 ...
- SQL*Plus 与数据库的交互(SQL*Plus时什么)
Oracle 的 SQL*Plus 是与数据库进行交互的客户端工具,在 SQL*Plus中,可以运行 SQL*Plus 命令与 SQL*Plus 语句. SQL*Plus 时一个基于 C/S 两层 ...
- IOS SDK详解
来源:http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html?page=1#42803301 博客专栏>移动开发专栏>I ...
- sublime的package control的中文镜像
参加: http://packagecontrol.cn/installation
- LAMP环境搭建之编译安装指南(php-5.3.27.tar.gz)
测试环境:CentOS release 6.5 (Final) 软件安装:httpd-2.2.27.tar.gz mysql-5.1.72.tar.gz php-5.3.27.tar.gz 1 ...
- MongoDB 3.6.1集群部署
Mongodb安装 Linux版本:CentOS release 6.9 Mongodb版本:mongodb-linux-x86_64-3.6.1.tgz 示例是在一台主机上安装mongodb集群 端 ...