1. 拼接字符串
原
const name = '小明';
const score = 59;
let result = '';
if(score > 60){
result = `${name}的考试成绩及格`;
}else{
result = `${name}的考试成绩不及格`;
}
改进:三元
const name = '小明';
const score = 59;
const result = `${name}${score > 60?'的考试成绩及格':'的考试成绩不及格'}`;
精简:逻辑优化
const result = `${name}的考试成绩${score > 60?'':'不'}及格`;
2.关于输入框非空的判断
非空判断是任何项目都会遇到,直接上代码
原
if(value !== null && value !== undefined && value !== ''){
//...
}
改:ES6中新出的空值合并运算符
if((value??'') !== ''){
//...
}
3.关于if中判断条件的吐槽
原
if(
type == 1 ||
type == 2 ||
type == 3 ||
type == 4 ||
){
//...
}
改:ES6中数组实例方法includes
const condition = [1,2,3,4];
if( condition.includes(type) ){
//...
}
4.关于列表搜索
原
const a = [1,2,3,4,5];
const result = a.filter(
item =>{
return item === 3
}
)
改:ES6中的find
const a = [1,2,3,4,5];
const result = a.find(
item =>{
return item === 3
}
)
5.查询数组中某个对象的属性来获得该属性的下标
原:抱歉,原代码我忘记了
改:
ES6中的findindex,找到返回该属性索引(下标),没找到返回-1
find返回的是值,没找到就是undefined
6.求累加和
原:各种for循环去累加
改:大哥,ES6里面的reduce你是没见过吗?
reduce((previousValue, currentValue, currentIndex) => { /* ... */ } )
reduce((累加器, 当前值, 下表) => { /* ... */ },初始值 )
list.reduce((sum, item) => sum + item.price, 0)
7.关于合并数据
原:合并两个数组,合并两个对象
const a = [1,2,3];
const b = [1,5,6];
const c = a.concat(b);//[1,2,3,1,5,6]
const obj1 = {
a:1,
}
const obj2 = {
b:1,
}
const obj = Object.assign({}, obj1, obj2);//{a:1,b:1}
改:ES6的扩展运算符、Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用
const a = [1,2,3];
const b = [1,5,6];
const c = [...new Set([...a,...b])];//[1,2,3,5,6]
const obj1 = {
a:1,
}
const obj2 = {
b:1,
}
const obj = {...obj1,...obj2};//{a:1,b:1}
8.保留有效数字
Number.toFixed(n) n保留几位 不写默认进行四舍六入五看情况,不包括小数部分
最新回复