!! = 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