Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Set
- // es5
- var courses = [];
- function addCourse(course) {
- if(courses.indexOf(course) === -1) {
- courses.push(course);
- }
- }
- addCourse("jQuery Basics");
- addCourse("Node.js Basics");
- addCourse("jQuery Basics");
- courses.forEach(value => console.log(value));
- // es6
- var courses = new Set(["jQuery Basics"]);
- courses.add("Node.js Basics");
- courses.add("jQuery Basics");
- courses.forEach(value => console.log(value));
- console.log(courses.size);
- console.log(courses.has("java course"));
- console.log(courses.has("jQuery Basics"));
- console.log(courses.delete("jQuery Basics"));
- console.log(courses.size);
- console.log(courses.has("jQuery Basics"));
- courses.clear();
- console.log(courses.size);
- for (let key of courses.keys()) console.log(key);
- for (let value of courses.values()) console.log(value);
- for (let [key, value] of courses.entries()) {
- console.log(`${key}: ${value}`);
- }
- // Map和Set都为内部的每个键或值保持了强引用
- // 也就是说,假如你在一个集合内添加了某些dom元素,可能是被选中的checkbox元素
- // 如果一个DOM元素被移除了,回收机制无法取回它占用的内存
- // ES6给了我们一个惊喜的解决方案:用WeakSet而非Set。和内存泄露说再见吧!
- var contacts = new WeakSet();
- var andrew = {
- name: "Andrew",
- email: "andrew@teamtreehouse.com"
- }
- var dave = {
- name: "Dave",
- email: "dave@teamtreehouse.com"
- }
- contacts.add(andrew);
- contacts.add(dave);
- contacts.add(andrew);
- console.log(contacts.has(andrew));
- dave = {
- name: "Changed",
- email: "dave@teamtreehouse.com"
- }
- console.log(contacts.has(dave));
- // Map
- var andrew = {
- name: "Andrew",
- email: "andrew@teamtreehouse.com"
- }
- var mary = {
- name: "Mary",
- email: "mary@teamtreehouse.com"
- }
- var dave = {
- name: "Dave",
- email: "dave@teamtreehouse.com"
- }
- var kenneth = {
- name: "Kenneth",
- email: "kenneth@teamtreehouse.com"
- }
- var friendships = new Map();
- friendships.set(andrew, new Set([mary, dave]));
- friendships.set(mary, new Set([andrew, kenneth, dave]));
- console.log(friendships.get(mary));
- console.log(friendships.get(andrew).has(kenneth));
- console.log(friendships.get(andrew).add(kenneth));
- console.log(friendships.get(andrew).size);
- friendships.delete(andrew);
- console.log(friendships.has(andrew));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement