类型转换
!! = 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
发表回复