类型转换
!! = Boolean()
~~ = ParseInt()
+ = ParseFloat()
应用 includes 代替 indexOf
Array.prototype.includes 曾经被绝大多数浏览器反对,受制于之前浏览器兼容性的影响,许多身边的共事仍然习惯应用 indexOf,但 includes 更加体现代码的语义化。
var arr = [1,2,3,4]
console.log(arr.indexOf(2) >= 0)
console.log(!!~arr.indexOf(2))
console.log(arr.includes(2))
reduce 的用途
在与后端的数据交互中,后端开发往往不能提供对于前端十分理想化的数据,列表尤为显著,Array.prototype.reduce 能够比拟不便的格式化须要的数据
以前的代码
var arr = []
const {data = [] } = result
data.forEach(item => {if (xxx) {
arr.push({
xxx: item.xxx,
.....
})
}
})
retrun arr
应用 reduce
const {data = [] } = result
const arr = data.reduce((prev, curr) => {if (curr.xxx) {
prev.push({
xxx: curr.xxx,
.....
})
}
return prev
}, [])
return arr