1、获取对象的键值
es6:
let a = {'a1':'1','a2':'2'}
Object.keys(a)
// ["a1", "a2"]
Object.values(a)
// ["1", "2"]
underscore:
let keys = _.keys({one: 1, two: 2, three: 3});
console.log(keys);
// ["one", "two", "three"]
let values = _.values({one: 1, two: 2, three: 3});
// [1, 2, 3]
2、数组的遍历
es6:
// forEach方法
[1,2,3,4].forEach((x,i)=>{console.log(x,i)})
// 1 0
2 1
3 2
4 3
// filter方法
[1,2,3,4].filter(value=>value>2)
// [3,4]
// map方法
[1,2,3,4].map(x=> x*2);
// [2, 4, 6, 8]
// join方法
[1,2,3,4].join('#')
// "1#2#3#4"
// toString方法
[1,2,3,4].toString()
// "1,2,3,4"
// fill方法
new Array(3).fill('a')
// ["a", "a", "a"]
underscore:
// each
_.each([1,2,3,4],(value,idx)=>console.log(value,idx));
// 1 0
2 1
3 2
4 3
// filter
let newArr = _.filter([1,2,3,4],(value)=>{return value>2});
console.log(newArr);
// [3,4]
// map 方法
console.log(_.map([1,2,3,4],(value)=>{return value*2}));
// [2, 4, 6, 8]
ES6常用API记录:
保留两位小数: 5.55611512.toFixed(2) #5.56
取绝对值: Math.abs(-10) # 10
指数运算: Math.pow(2,3) #8
获取数值的整数部分不含进位: Math.trunc(1.5) #1
向上取值: Math.ceil(1.5) #2
向下取值: Math.floor(1.5) #1
判断一个数是正数,负数还是0 : Math.sign(-5) #-1
计算一个数的立方根: Math.cbrt(8) # 2
得到一个重复填充的数组:arr = Array.from({length:10},()=>'jack’)
new Array(3).fill(7)
将一组值转化为数组: Array.of(3, 11, 8) #[3,11,8]
找到第一个满足条件的值:[1, 4, -5, 10].find((n) => n < 0)
[1, 4, -5, -10].findIndex((n) => n < 0)
过滤所有数组:[1, 4, -5, 10].filter((x) => x>0);
push添加数组中的元素:
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1.push(...arr2);
数组排序: var result = [2,1,3,4,8,6,5].sort((a, b) => a - b);
var result = [2,1,3,4,8,6,5].sort((a, b) => b - a);