• 技术文章 >web前端 >前端问答

    es5和es6怎么实现数组去重

    青灯夜游青灯夜游2023-01-16 17:09:44原创57

    es5中可以利用for语句和indexOf()函数来实现数组去重,语法“for(i=0;i<数组长度;i++){a=newArr.indexOf(arr[i]);if(a==-1){...}}”。在es6中可以利用扩展运算符、Array.from()和Set来去重;需要先将数组转为Set对象来去重,然后利用扩展运算符或Array.from()函数来将Set对象转回数组即可。

    本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

    es5 数组去重

    indexOf 方法

    使用indexOf(可返回某个指定的字符串值在字符串中首次出现的位置,如果首次出现,返回-1)

    	var arr = [1,2,3,1,3,4,5];
    	Array.prototype.myInfo = function(){
    		var newArr = [];
    		for(var i=0;i<arr.length;i++){
    			var a = newArr.indexOf(arr[i]);
    			if(a == -1){
    				newArr[newArr.length] = arr[i];
    			}
    		}
    		return newArr;
    	}
    	var result = arr.myInfo();
    	console.log(result);

    在这里插入图片描述

    es6 数组去重

    1. Array.from 和 Set

    Set不允许有重复的元素

    	let arr = [1,2,1,2,3];
    	let result = new Set(arr);
    
    	console.log(result); 			
    	console.log(Array.from(result));

    在这里插入图片描述

    2. rest 和 Set

    rest 方法操作符为“

    将字符从数组中剥离出来

    	let arr = [1,2,1,2,3];
    	let result = new Set(arr);
    
    	console.log(result); 	
    	console.log(...result); 		
    	console.log([...result]); 			
    
    	console.log([...new Set(arr)]);

    在这里插入图片描述

    【相关推荐:javascript视频教程web前端

    以上就是es5和es6怎么实现数组去重的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:es5 ES6 数组去重
    上一篇:es6怎么删除数组中的某一项 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 为什么要将es6转为es5• webpack怎么将es6转成es5的模块• es5函数和es6箭头函数的区别是什么• es6箭头函数是函数式编程吗• es6的set集合怎么增加元素• es6怎么声明只读常量
    1/1

    PHP中文网