JavaScript数组去重:
方法1:利用indexOf去重
let arr = [1, 2, 3, 1, 2, 3, 1, 2, 3];
Array.prototype.myFun = function () {
let newArr = []
arr.forEach(function (item) {
// indexOf第一次出现的元素返回-1
let result = newArr.indexOf(item)
if (result === -1) {
newArr.push(item)
}
})
console.log(newArr);
}
arr.myFun();
方法2:利用ES6set方法去重
Set类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构展。Set 构造函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。
let set = new Set([1, 2, 3, 4, 1, 2, 3, 6]);
console.log(Array.from(set));
字符串转数组
let str='hello';
方法一:使用split()方法
split() 方法用于把一个字符串分割成字符串数组。
let arr1=str.split('');
方法二:使用Array.from()方法
Array.from()方法从类似数组或可迭代对象创建一个新的(浅拷贝)的数组实例。
let arr2=Array.from(str);
方法三:使用ES6的拓展运算符
...在等号左边是剥离作用,在等号右边是聚合作用。
let [...arr3]=str;
方法四:使用Object.values()方法
Object.values()
方法返回一个给定对象自身的所有可枚举属性值的数组
let arr4=Object.values(str);