类数组转换为数组、数组去重

类数组转换为数组、数组去重

类数组转换为数组
  1. reset
  • 原生迭代器

function foo(a,b){

console.log(arguments); //Arguments {“0”:1,“1”:2},类数组
console.log([…arguments]); //[1,2]

}
foo(1,2);

  • 自己添加迭代器
let test = {
	0: 'a',
	1: 'b',
	2: 'c',
	length: 3,
	[Symbol.iterator]: Array.prototype[Symbol.iterator]
};
console.log(test);
console.log([...test]);
  1. Array.from

function foo(a,b){

console.log(arguments); //Arguments {“0”:1,“1”:2},类数组
console.log(Array.from(arguments)); //[1,2]

}
foo(1,2);

  1. Array.prototype.slice.call()

function foo(a,b){

console.log(arguments); //Arguments {“0”:1,“1”:2},类数组
console.log(Array.from(arguments)); //[1,2]

}
foo(1,2);

数组去重

es6

  1. 使用Array.from和Set(Set不允许有重复的元素)

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

  1. 使用rest和Set

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

es5

  1. 使用indexOf
var arr = [1,2,1,2,3];
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);

【indexOf】:可返回某个指定的字符串值在字符串中首次出现的位置,如果首次出现,返回-1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值