乐趣区

关于javascript:总结我编码中常用到的小方法

类型转换

!! = 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
退出移动版