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

2022-05-06T14:58:22.png

2022-05-06T15:01:22.png

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保留几位 不写默认进行四舍六入五看情况,不包括小数部分

发表评论