首页 > 编程语言 >JavaScript 去除数组中重复的元素 得到新数组

JavaScript 去除数组中重复的元素 得到新数组

时间:2023-04-11 10:36:12浏览次数:44  
标签:arr ++ newArr JavaScript 数组 去除 var array

方法一:

思路: 准备一个新数组,将原数组中的元素一一放入新数组,

放入之前判断该元素是否存在新数组中,不存在的话就直接存入新数组。

function uniqueArr(arr){
var newArr = [];
for(let i = 0;i<arr.length;i++){
if(newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i]);
}
}
return newArr;
}
方法二:排序后相邻去除法

function uniqueArr2(arr){
arr.sort();//[a,a,b,b,c,c,d]
var newArr = [arr[0]]; //a

for (var i = 1; i < arr.length; i++) {
if(arr[i] != newArr[newArr.length-1]){
newArr.push(arr[i]);
}
}
return newArr;
}
方法三:获取没重复的最右一值放入新数组

思路:获取没重复的最右一值放入新数组。(检测到有重复值时终止当前循环同时进入顶层循环的下一轮判断)

function uniqueArr3(array){
var newArr = [];
for(var i = 0, len = array.length; i < len; i++) {
for(var j = i + 1; j < len; j++){
if (array[i] === array[j]){
j = ++i;
}
}
newArr.push(array[i]);
}
return newArr;
}
————————————————
版权声明:本文为CSDN博主「潘潘91」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/PanRuiFang/article/details/103667275

标签:arr,++,newArr,JavaScript,数组,去除,var,array
From: https://www.cnblogs.com/lynna/p/17305344.html

相关文章

  • Javascript 原型与原型链
    在BrendanEich设计Javascript时,借鉴了Self和Smalltalk这两门基于原型的语言。之所以选择基于原型的面向对象系统,是因为BrendanEich一开始没有打算在JavaScript中加入类的概念,其设计初衷是为非专业的开发人员提供一个方便的工具,使其使用尽可能简单、易学。随着人们对网页要求的逐......
  • kettle从入门到精通 第十一课 kettle javascript 解析json数组
    1、json步骤虽然可以解析json数组,但是不够灵活。通过javascript步骤来解析json数组比较灵活,且可以按照需要组装数据流转到下个步骤。1)步骤名称:可以自定义2)TransformScripts:当前步骤编写的javascript脚本3)TransformConstants:重新定义的静态常量,用于控制数据行发生的情况。您必......
  • 【C】柔性数组详解
    @TOC柔性数组也许你从来没有听说过柔性数组(flexiblearray)这个概念,但是它确实是存在的。C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。例如:struct{ intn; floats; intarr[];//柔性数组成员//是结构体的成员变量,但是是数组};intmain(){ ......
  • 数组、链表、跳表的基本实现和特性
    1.如何对链表加速  2.添加第一级索引  3.添加第二级索引  4.增加N级索引  5.思量及索引添加流程解释  5_1.如何找到数字8  5_2.如何找到数字9  6.跳表查询的时间复杂度分析  6_2.时间复杂度例题  ......
  • 数组
    数组1,数组概述2,数组声明创建packagearray;publicclassDemo01{publicstaticvoidmain(String[]args){//求10个数的和;int[]nums=newint[10];nums[0]=1;nums[1]=2;nums[2]=3;nums[3]=4;......
  • 用 Go 剑指 Offer 39. 数组中出现次数超过一半的数字 (摩尔投票)
    数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 //若不存在多数元素,本题就需要计数并判断示例 1:输入:[1,2,3,2,2,2,5,4,2]输出:2 限制:1<=数组长度<=50000来源:力扣(LeetCode)链......
  • spfa求最短路——BFS,数组实现邻接表,数组实现队列
    题目描述题目来源AcWing给定一个n个点m条边的有向图,图中可能存在重边和自环,边权可能为负数。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出impossible。数据保证不存在负权回路。输入格式第一行包含整数n和m。接下来m行每行包含三个......
  • JavaScript怎么实现web端上传超大文件
    ​ PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploads=on/off 是否允许通过http方式上传文件2.max_execution_time=30 允许脚本最大执行时间,超过这个时间就会报错3.memory_limit=50M 设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此......
  • 3、动态数组
    在这里,我们新创建一个数组类,对Java语言中的原始数组进行封装,使得它可以动态的扩容和缩容Java语言中也有类似的实现,叫ArrayList,我们创建的数据类是它的简化版本,下面是代码实现publicclassArray<E>{privateE[]data;privateintsize;publicArray(i......
  • 用 Go 剑指 Offer 42. 连续子数组的最大和
    输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释: 连续子数组 [4,-1,2,1]的和最大,为 6。 提示:1<= arr.length<=10^5-100<=arr[i]<=100......