例子: 根据id获取一个对象数组中的某个对象的属性
const stage = [ { id: 0, name: 'a' }, { id: 1, name: 'b' }, { id: 2, name: 'c' }, { id: 3, name: 'd' }, { id: 4, name: 'e' }, ]// 写法1:// 存在的问题:如果没有找到对象,find()就会返回undefined,导致获取name属性的时候会报错。let name = stage.find(v => v.id ===id).name// 写法2:// 存在的问题:重复计算let name = stage.find(v => v.id ===id) ? stage.find(v => v.id ===id).name : '';// 写法3:// 存在的问题:需要引入额外的步骤let find = stage.find(v => v.id ===id)let name = find && find.name
希望像写法1那样一行完成所有方法的调用同时能避免中间方法 返回undefined 而出错的问题。
呼唤远方
相关分类