<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 1.map数据结构
// map()方法返回一个新的数组,数组中的元素为原始元素调用函数处理后的值
// map()方法按照原始数组元素顺序依次处理元素。
// 注意
// map不会对空数组进行检测
// map不会改变原始数组
// map方法会给原数组中的每个元素都按顺序调用一次callback函数,
// callback每次执行后的返回值(包括undefined)组合器来形成一个新数组。
// callback函数只会在有值的索引上被调用,
// 那些从来没有被赋过值或者使用delete删除的索引则不会被调用。
// 使用map方法处理数组时,数组元素的范围在callback方法
// 第一次调用之前就已经确定了。
// 在map方法执行的过程中,,原数组中新增加的元素将不会被callback访问到,
// 若已经存在的元素被改变或者删除了,则他们传递到callback的值是他们map方法遍历到他们那一刻的值,
// 而被删除的元素将不会被访问到。
// map中常用的方法
const map = new Map()
// Map对象通过set(key,val)方法保存键值对,之后可以使用get(key)方法通过key来读取特定的值
// size:返回Map对象中所包含的键值对个数
// set(key,val):向Map中添加新元素
// get(key):通过键值查找特定的值
// has(key):判断Map对象中是否存在key,有则返回true,无则返回false
// delete(key):通过键值从Map中移除对应的数据
// clear():将这个Map中的所有元素删除
// 2.set()数据结构
// const set = new Set()
// set不同于map,它没有键值对的概念,只有一个value
// set不允许值重复
// size:返回set实例的成员总数
// add(val):添加某个值,返回Set结构本身(可以链式调用)
// delete(val):删除某个值,删除成功返回true,否则返回false
// has(val):返回一个布尔值,表示该值是否为Set的成员
// clear():清除所有成员,没有返回值
// const set = new Set([1,2,3]);
// set.add(2)
// console.log(set)
// const set = new Set([1,2,3,3,2,4])
// console.log(set)
// 例题1:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数
// 并返回他们的数组下标,你可以假设每种输入只会对应一个答案,但是数组中同一个元素不能使用两遍
// 示例:给定nums = [2,7,11,15],target = 9
// 因为nums[0] + nums [1] = 2 + 7 = 9
// 所以返回 [0,1]
// 解题过程
// 例题2:求这两个数组的交集(这个题留着)
// const a = [1,2,3]
// const b = [2,3,4]
</script>
</body>
</html>
|