最近在代码中用到大量箭头函数,例如
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 + ",你又忘了你的密码是不是?")
}
})
输出结果