!! = Boolean() ~~ = ParseInt() + = ParseFloat()
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))
在與後端的數據交互中,後端開發每每不能提供對於前端很是理想化的數據,列表尤其明顯,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