js(javaScript)如何取出数组中的不同值(去重)

详解JS取出两个数组中的不同或相同元素 主要介绍了JS取出两个数组中的不同或相同元素,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 立即下载

这也是我在做项目遇到的问题,我的做法是把数组中的相同值都删除掉,剩下的就不一样了,可能写出来跟讲出来的,来理解还是不一样,下面附上我的全代码与注解:(方法很多种,用ES6、indexOf等等)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>	
</body>
</html>
<script>
function fn(arr){
// 定义一个新数组,用来存放不同值,与传进来的数组arr做比较的
var newArr=[];
//在newArr添加传进来的数组的第一项
newArr.push(arr[0]);
var j=0;
// 遍历数组停止的条件,由于不知道什么时候停止循环,所有用while
//循环判断,为什么用两数组的长度做循环条件,看下面代码的数组的删增就会明白
	while(newArr.length<arr.length){
		// 这里的i=j+1,for循环是删除与arr相同的值
		for (var i = j+1; i<arr.length; i++) {
			// arr的第一项不需要比较
			// 比较是从arr的第二项开始于newArr的第一项开始
			if(arr[i]==newArr[j]){
				// 没当有相同值时,就删除掉
				arr.splice(i,1);
				// 删除掉之后,后面的项的索引(下标)都会减1
				// 所以避免有遗漏项,所以索引要对应减1
				i--;
			}
		}
		// 当把相同值删除完时,newArr长度要加一
		j++;
		// 把arr下一个不同值存起来用来作比较
		newArr.push(arr[j]);
	}
	// 当循环结束后arr的相同值也就删除完了
	return arr;
}

var arr=[1,2,3,3,4,6,6,6,9,9,9,9];
fn(arr);

console.log(arr);
</script>

 

51单片机 DHT11温湿度传感器LCD显示+串口打印+Proteus仿真 DHT11+LCD1602+串口输出+Proteus仿真 阅读详情

相关推荐

Infiniband互连网络概述

一、Infiniband是什么? InfiniBand(简称IB)是一种工业标准规范,它定义了一种输入/输出架构,用于计算节点、通信基础设施设备、存储和嵌入式系统的互连。操作系统可以是Linux、Windows或ESXI。 IB网络一共是五层,从第一天起,IB就被设计为提供一个端到端的解决方案,改善和加速从物理层到上层的所有协议层。 IB协议于2000年由IBTA(InfiniBand Trade Association)提出,其规定了一...

weixin_41687819的博客 5229

JS取出两个数组中的不同或相同元素

// 取出两个数组的不同元素 var arr1 = [0,1,2,3,4,5]; var arr2 = [0,4,6,1,3,9]; function getArrDifference(arr1, arr2) { return arr1.concat(arr2).filter(function(v, i, arr) { return arr.indexOf(v) === arr.lastIndexOf(v); }); } console

weixin_45491717的博客 1456

共享单车需求预测问题:建模篇

机器学习训练营——机器学习爱好者的自由交流空间(qq群号:696721295) 在上一篇里,我们使用可视化的方法分析了“共享单车”的数据集,理解了特征(变量)之间的关系。我们将在本篇建立几个模型预测单车的需求量,并比较它们的预测效果。 随机森林填充法 首先,导入必需的库、训练集和检验集。 import pylab import calendar import numpy as np impor...

wong2016的博客 1万+

数组对比,取出不同的值

1、比较两个数组中的值是否相同(该方法比较不了数组中的对象) 代码如下: const arr1 = [11,22,33] const arr2 = [11,22,33] const result = arr1.length === arr2.length && arr1.every(a => arr2.some(b => a === b)) && arr2.every(_b => arr1.some(_a => _a === _b)); 2、取

weixin_46482956的博客 4358

NVIDIA驱动版本太低?手把手教你解决CUDA与PyTorch版本冲突问题

本文针对深度学习开发中常见的NVIDIA驱动版本过低导致的CUDA与PyTorch版本冲突问题,提供了从根源理解到实战解决的完整指南。文章详细解析了驱动、CUDA与PyTorch的依赖关系,并给出了升级驱动、降级PyTorch、使用Conda环境管理及Docker容器化四种核心解决方案,帮助开发者快速诊断并构建稳定的GPU开发工作流。

grpc6streamer的博客 969

MicroPython学习:在STM32上进行移植

本文将介绍如何在STM32上移植MicroPython,并提供相应的源代码。通过以上步骤,你已经成功地将MicroPython移植到STM32上,并可以使用MicroPython语言编写和运行代码。你可以进一步探索MicroPython的功能和API,以利用STM32的各种外设和功能。使用STM32CubeProgrammer或其他适当的烧录工具,将编译生成的MicroPython固件烧录到STM32微控制器中。打开该文件,并根据你的STM32微控制器类型进行必要的配置更改。模块来控制STM32的LED。

JeeVue的博客 1237

js对比数组的相同值跟不同值

js对比数组的相同值跟不同值

weixin_45633318的博客 645

【机器学习-18】特征筛选:提升模型性能的关键步骤

我们将介绍不同类型的特征筛选方法,包括基于统计的方法、基于模型的方法和嵌入式方法等,并详细解释每种方法的原理和适用场景。通过特征筛选,我们可以减少数据集的维度,降低模型的复杂度,提高模型的泛化能力,并加速模型的训练过程。通过选择适当的特征筛选方法,我们可以减少模型的复杂度,提高模型的泛化能力,并加速模型的训练过程。然而,并非所有的特征都对模型的性能提升有所贡献,有些特征甚至可能是冗余的、噪声较大的或者与目标变量无关的。我们的目标是通过特征筛选选择出对欺诈检测最有用的特征,以提高模型的预测精度。

qq_38614074的博客 1万+

javascript在数组里面找不同的属性值组成数组

你可以使用JavaScript的filter函数来过滤数组中的值,然后使用map函数将找到的值映射到新的数组中。 例如,如果你想找出数组中所有不同的颜色,你可以这样做: const colors = [ { color: 'red' }, { color: 'green' }, { color: 'blue' }, { color: 'red' }, { color: 'gre...

weixin_42601608的博客 220

使用 Simulink 实现基于相控阵雷达的波束形成技术

摘要:本文详细介绍了利用MATLAB Simulink和Phased Array System工具箱实现相控阵雷达波束形成的完整流程。主要内容包括:1)创建Simulink模型;2)设计天线阵列参数;3)信号生成模块配置;4)波束形成算法实现;5)结果可视化方法;6)仿真调试与优化;7)代码导出与部署。通过分步指导,读者可以掌握从理论到实践的完整开发流程,包括关键参数设置和算法实现示例。该方案适用于军事、气象等领域的雷达系统开发,并支持后续嵌入式和智能算法集成。

xiaoheshang_123的博客 179

ArcGIS笔记13_利用ArcGIS制作岸线与水深地形数据?建立水动力模型之前的数据收集与处理?

在利用MIKE建立水动力模型之前,需要收集、处理和制作诸多数据和资料,主要有岸线数据、水深地形数据、开边界潮位驱动数据、风场数据、潮位和海流观测资料和站点潮汐调和常数资料等。本篇主要介绍这些资料的获取与处理。

晏长街的博客 5948

JS数组怎么去重?| JavaScript中数组去重的14种方法

JS数组怎么去重?JavaScript中数组去重的13种方法,甚是详细,遇到数组去重问题时,可翻阅查看对应的去重方法

青春木鱼的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

js对象数组去重,简单数组去重

JavaScript对象数组去重一、对象数组去重方式一二、对象数组去重方式二三、简单类型的数组去重 一、对象数组去重方式一 使用reduce函数。 let arr = [ { key:'1', name:'林青霞' }, { key:'2', name:'张三丰' },

weixin_43242112的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【JavaScript】JS数组去重的几种常见方法

JS数组去重的几种常见方法 一、简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i &amp;lt; array.length; i++){ ...

Dream_Lee的博客 1983

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

JS数组去重方法

javaScript 数组去重的常用方法及实现原理

卡卡的博客 5670

JS中数组去重的五种方法

数组去重的几种方法(JavaScript版) 目录 数组去重的几种方法(JavaScript版) 第一种:双重for循环去重 方法二:单层for循环,多了一个sort函数 方法三 方法四: 方法五 前言:你需要知道JavaScript中的splice函数的用法 splice函数介绍: splice函数用法:splice函数介绍看不懂没关系,怎么用一看例子一目了然 第一种:双重for循环去重 原理 两两比较如果相等的话就删除第二个例如:1,2,3,4...

qq_51066068的博客 1万+

[javascript] js数组对象去重或合并数组对象中的指定值

1、js数组对象去重复并合并数值 <script> var arrs = [ {"id": "1","name": "张三","value": "1245"}, {"id": "1","name": "张三","value": "1360"}, {"id": "2","name": "李四","value": "1120"}, {"id": "2","name": "李四","value": "1362"}, {"id": "2","name": "李四","value.

qq_34450741的博客 1216

js数组去重的5种方法

js数组去重五种方法 今天来聊一聊JS数组去重的一些方法,包括一些网上看到的和自己总结的,总共5种方法(ES5)。 第一种:遍历数组法 这种方法最简单最直观,也最容易理解,代码如下: var arr = [2, 8, 5, 0, 5, 2, 6, 7, 2] var newArr = [] for (var i = 0; i &lt; arr.length; i++) { ...

lelara的博客 6089

JavaScript数组去重的方式

数组去重的意思就是去除数组中重复的元素,处理完后数组中所有的元素都是唯一的,本文介绍了在js中数组去重的5种方式,请往下看。

yigetutouzai的博客 4882

JS数组中 reduce() 方法 数组对象去重

参考引用: 数组里面对象去重的3种方法: https://blog.youkuaiyun.com/l284969634/article/details/91397332 js数组去重的多种方法: https://blog.youkuaiyun.com/linglingzi001/article/details/107772411 JS中reduce方法: https://blog.youkuaiyun.com/hope93/article/details/86528183 Array.reduce()方法解析: https://blog.cs

AS_TS的博客 3201

JS数组去重,JS根据数组里面的对象属性值去重

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 微信小程序开发交流qq群 173683895 js数组简单去重 var arr1 = [1, 2, 3, 4, 5, 6, 3, 4, 3]; function arrayUnique1(arr) { var arr1 = [], obj = {}; fo...

a_靖的博客 4894

JavaScript——不同类型数组去重(简单数组去重、对象数组去重)

1. 简单数组去重 1.1 new Set() 去重 MDN中对于Set的释义:Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。 执行Set后返回的是一个Set结构,是类数组 1.1.1 Array.from 将类数组转换成数组 因为Set结构不是数组,我们可以通过Array.from()的形式将其转换成数组 实例一: Set + Array.from去重 let normalArr = [1,2,3,4,5,3,4,4,'a',

我是我 2248

JavaScript数组去重

JavaScript原生数组去重 这是一个适合刚刚接触js的同学用来练手学习的一个数组去重的方法,有原生的写法和方法的封装。数组在我们平时工作中还是经常会遇到的所以这个去重还是很有必要牢记的 原生写法 <script> var arr = [1,2,3,4,1,2,3,100,200,100,1,1,2,2,100,200,300,400]; var obj = {}; for (var i = 0; i <arr.length; i++) {

hunter 281

JS数组去重

JS数组去重 最近看了下关于数组去重相关的方法,现在自己做一下总结。 情境 输入 [1,1,‘true’,‘true’,true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,‘NaN’, 0, 0, ‘a’, ‘a’,{},{}]; 输出 过滤掉数组中重复的值 ES6-set 使用ES6中的set是最简单...

izwell的博客 5993

js 数组里面 对象去重 的3种方法

下面是将要过滤的数据,将arr里面id重复的数据去掉(下面方法中用的arr都是这组数据哦)。 var arr = [ {id: 1, name: '周瑜1'}, {id: 3, name: '王昭君1'}, {id: 2, name: '李白1'}, {id: 1, name: '周瑜2'}, {id: 2, name: '李白2'}, {id: 3, name: '王昭君2'} ]; 1.数组的reduce()方法(ie9以下不支持此方法) let newobj = {}; a

weixin_44378370的博客 818

取数组第一个值_如何用JavaScript进行数组去重

今天的文章和大家谈一谈如何用JavaScript进行数组去重,这是一道常见的面试(笔试)题,可以很好地考察出一个人的逻辑思维及边界考虑情况,希望此文能够帮助大家在解决类似问题时拓宽思路。据我到目前为止面试的情况,很少有人能在现场考虑很全,基本上的人都是浅尝辄止。当然,“使用库中的一个函数就能去重”并不在本篇文章的讨论范围内,我们针对的是需要自己写代码的场景。考虑到实际情况,我们使用ES5(主要就用...

weixin_29340419的博客 2484
下一篇: js延时器setTimeout改造为定时器
it_lin_web
博客等级 码龄8年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值