[leetcode]map,set
细节
- 返回多个值,用数组装起来;
- 如果不符合条件,记得返回空;
- for-in少用,有奇怪bug
知识点
Object
Object.keys() 返回自身属性构成的一个数组
1.传入对象,返回对象的key值
obj = {a:1,b:2};
console.log(Object.keys(obj)) //['a','b']
2.数组 返回索引值
arr = ['x','y','z'];
console.log(Object.keys(arr));//['0','1','2']
const,let
const 数组,对象--引用类型的
let 常量
const memo=[]
let max=nums[0]
map--ES6标准新增的数据类型
key🔑唯一,多次对一个key放入value,后面的值会把前面的值冲掉
var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value
m.has('Adam'); // 是否存在key 'Adam': true
m.get('Adam'); // 67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined
set每个元素都不同!!--ES6标准新增的数据类型
Set和Map类似,也是一组key的集合,但不存储value。(在map的基础上,没有value)
const set = new Set(); // 空Set
var s2 = new Set([1, 2, 3]); // 含1, 2, 3
s.add(4);
s; // Set {1, 2, 3, 4}
s.add(4);
s; // 仍然是 Set {1, 2, 3, 4},可以重复添加,但不会有效果
s.has(4)//true
s.delete(3);
s; // Set {1, 2,4}
break,continue,return
break——符合if()的i时退出,循环或者switch语句
continue——跳过几次符合if()的i,是循环或者switch语句
return——停止函数,是函数返回语句
数组
循环-forEach()
为每个数组元素调用一次(回调)函数,不影响原数组的值
const nums=[1,2,3]
nums.forEach(item=>{item++;console.log(item);})//仅支持调用式的执行,不能用变量装 再输出 //2 3 4
push
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi","Lemon","Pineapple")//"Banana", "Orange", "Apple", "Mango","Kiwi","Lemon","Pineapple"
sort排序
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b});//升序 1,5,10,25,40,100
*points.sort(function(a,b){return b-a});//降序 100,40,25,10,5,1
append
c.append(a)
Math
Math.max(a,b,c)//java只能两个
Math.floor(x) //返回小于或等于一个给定数字的最大整数。--地板
Math.ceil(x) //返回大于等于数字参数的最小整数(取整函数). --天花板