好久没有更博,我的懒癌又出来作祟了,今天重温下js的基础,发现自己的基础特别差,所以写篇文章,自己学习的时候也和他人一起研究分享……加油吧!以下为正文
方法一:第一个想到的就是ES6新增的语法Set,下面我们用代码实现看看吧!
var str = [1,2,3,4,5,4];
var strSet = new Set(str);
console.log(strSet); //Set {1, 2, 3, 4, 5}
var strArr = Array.from(strSet);
console.log(strArr) //[1,2,3,4,5]
以上需注意 Set返回的结果是Set对象,需要使用Array.form()方法转化为数组。
方法二:也是应用Set,转换成数组的形式有使用的ES6的扩展运算符...
var str = [1,2,3,4,5,4];
var strSet = new Set(str);
console.log(strSet); //Set {1, 2, 3, 4, 5}
var strArr = [...strSet];
console.log(strArr) //[1,2,3,4,5]
方法三:循环数组中的每个变量,没有相同的值就赋值到一个新数组中,否则忽略该值
var arr=[1,2,3,'3',4,5,2];
var arrNew = [];
for(let i=0;i<arr.length;i++){
let flag = false;
for(let j=0;j<arrNew.length;j++){
if(arr[i]===arrNew[j]){
flag = true;
break;
}
}
if(!flag){
arrNew.push(arr[i])
}
}