return accu.includes(cur) ? accu : accu.concat(cur); // 1. 拼接方法
// return accu.includes(cur) ? accu : […accu, cur]; // 2. 扩展运算
}, []);
// [1, 2, 4, null, “3”, “abc”, 3, 5]
6. Array.indexOf indexOf() 方法:返回数组中某个指定的元素位置 。该方法遍历数组,查找有无对应元素并返回元素第一次出现的索引,未找到指定元素则返回 -1 。
let newArr = []
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) newArr.push(arr[i])
}
//等同于 forEach 写法
arr.forEach( item => newArr.indexOf(item) === -1 ? newArr.push(item) : ”)
console.log(newArr) // [1, 2, 4, null, “3”, “abc”, 3, 5]
7. Array.includes includes() 方法:用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false 。
let newArr = []
for (var i = 0; i < arr.length; i++) {
if (!newArr.includes(arr[i])) newArr.push(arr[i])
}
//等同于 forEach 写法
arr.forEach( item => !newArr.includes(item) ? newArr.push(item) : ”)
console.log(newArr) // [1, 2, 4, null, “3”, “abc”, 3, 5]
8. new Set + 扩展运算符 || Array.from ES6 提供了新的数据结构 Set 。类似于数组,但是成员的值都是唯一的,没有重复的值 。
Set本身是一个构造函数,可以接受一个具有 iterable 接口数据结构作为参数(如数组,字符串),用来初始化 。
let newArr = […new Set(arr)]; // [1, 2, 4, null, “3”, “abc”, 3, 5]
let newArr = Array.from(new Set(arr)); // [1, 2, 4, null, “3”, “abc”, 3, 5]
let newStr = […new Set(‘ababbc’)].join(”) // ‘abc’
9. new Map ES6 提供了新的数据结构 Map 。类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键 。
set方法设置键名key对应的键值为value,然后返回整个 Map 结构 。如果key已经有值,则键值会被更新,否则就新生成该键 。
get方法读取key对应的键值,如果找不到key,返回undefined 。
has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中 。
let map = new Map();
let newStr = [];
for (let i = 0; i < arr.length; i++) {
if (!map.has(arr[i])) {
map.set(arr[i], true);
newStr.push(arr[i]);
}
}
console.log(newArr) // [1, 2, 4, null, “3”, “abc”, 3, 5]
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 眼部下面的皱纹怎么去除呢
- 希腊移民靠什么生活
- 眼睛周边有脂肪粒怎么去除呢
- 九种食物帮你清除脂肪
- 浓盐水可以去除油漆味吗
- 能除甲醛的室内植物
- 5分钟消除浮肿还你瓜子小脸
- 中国移动371亿采购23万5G基站 闭式冷却塔价格
- dnf神之真谛怎么刷 dnf神之真谛获得方法
- 大扫除意外发现2009年失踪的乌龟 这只乌龟现在什么情况?