最近在代码中用到大量箭头函数,例如
result = page.stream().map(p -> { //这个p相当于list里的每一项,map需要return Map<String, Object> tempMap = BeanUtil.beanToMap(p); tempMap.put("isMeLikeHisProduct", StringUtils.isNotBlank(master.getUFavorite()) && master.getUFavorite().contains(p.getId())); return tempMap; }).collect(Collectors.toList()); //可以把return的结果收集起来,转换成一个新的list
以及
productList.forEach(product -> { //这个product相当于list里的每一项,forEach不需要return if (product.getId().equals(orderItem.getOtemResourceId())) { tempMap.put("productName", product.getReTitle()); tempMap.put("productCover", product.getReCover()); tempMap.put("productId", product.getId()); } });
然后今天写后台管理系统的时候发现前端的箭头函数我还没用过,于是写了写,嗯!真香~
var newArray = [2, 4, 6, 8, 10] //var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象 var newArrays = newArray.map(index => { //map return index + 1; }) console.log(newArray); console.log(newArrays); let newArrayObject = [ //let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升,let不允许在相作用域内重复声明同一个变量 { username: "zhangsan", password: "password" }, { username: "lisi", password: "wrong" } ] let newArrayObjects = newArrayObject.forEach(item => { //forEach if (item.username == "zhangsan" && item.password == "password") { console.log("欢迎" + item.username + "登录!"); } if (item.username == "lisi" && item.password != "password") { console.log(item.username + ",你又忘了你的密码是不是?") } })
输出结果