课程名称:JavaScript版数据结构与算法
课程章节:第6章 数据结构之“集合”
主讲老师:lewis
课程内容:
今天学习的内容包括:
6-1 集合简介——集合是一种无序且唯一的数据结构。
6-2 LeetCode:349. 两个数组的交集——使用集合特性和筛选实现。
6-3 前端与集合:使用 ES6 中 Set——操作去重,是否存在,交集。
6-4 集合章节总结——集合使用场景挺多。
6-5 【勤于思考,夯实学习成果】阶段思考题——完成对应作业。
课程收获:
集合简介
1、集合是一种无序且唯一的数据结构。
2、ES6中有集合,名为Set。
3、集合的常用操作:去重(new Set())、判断某元素是否在集合中(has())、求交集(filter结合has)。
349. 两个数组的交集
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @return {number[]}
*/
var intersection = function(nums1, nums2) {
return [...new Set(nums1)].filter(n => nums2.includes(n))
};
使用 ES6 中 Set
1、添加使用add
2、删除使用delete
3、判断是否存在使用has
4、获取长度使用size
5、转数组使用[…mySet] 或则 Array.from(myArr)
6、求合集new Set([…mySet].filter(x => mySet1.has(x)))
7、求差值new Set([…mySet].filter(x => !mySet1.has(x)))
在你的实际工作中使用集合完成一次去重操作
let zhangsanClass = ['语文', '数学', '英语', 'C++']
let lisiClass = ['语文', '数学', '英语', 'C++', 'Java', 'JavaScript']
let classList = new Set([...zhangsanClass, ...lisiClass])
console.log(classList)
通过对集合的学习,学习到了几个的常用操作,可以解决工作中的一些实际问题,让程序运行更快,希望自己快速将算法学习完,对自己说一句,加油😀~
坚持打卡,坚持学习!明天见💪~