总结:我编码中经常使用到的小方法

类型转换

!! = Boolean()
~~ = ParseInt()
+  = ParseFloat()

使用includes代替indexOf

Array.prototype.includes已经被绝大多数浏览器支持,受制于以前浏览器兼容性的影响,许多身边的同事依然习惯使用indexOf,但includes更加体现代码的语义化。javascript

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 java

const { data = [] } = result

const arr = data.reduce((prev, curr) => {
    if (curr.xxx) {
        prev.push({
            xxx: curr.xxx,
            .....
        })
    }
    return prev
}, [])

return arr
相关文章
相关标签/搜索