springboot和vue通过对象List返回某个属性的List集合

springboot和vue使用stream().map方法

1. 前端使用map方式返回对象List集合中某个属性的List集合

// this.multipleSelection--对象list集合,id--对象属性
let ids = this.multipleSelection.map(v => v.id)

2. 后端使用stream().map方式返回对象List集合中某个属性的List集合

public boolean deleteDictData(List<Long> id){
   LambdaQueryWrapper<DictType> queryWrapper = new LambdaQueryWrapper<>();
    queryWrapper.eq(DictType::getDeleteStatus,0);
    queryWrapper.in(DictType::getId,id);
    List<DictType> dictTypeList = this.list(queryWrapper);  // 获取对象List集合
    // 返回对象dictType属性集合
    List<String> collect = dictTypeList.stream().map(DictType::getDictType).collect(Collectors.toList());
    return dictDataService.updateDeleteStatusByDictType(collect);
}

3. 根据对象List某个字段筛选数据

public Result getMenuList(String name) {
    LambdaQueryWrapper<Menu> queryWrapper = new LambdaQueryWrapper<>();
    queryWrapper.eq(Menu::getDeleteStatus,0);
    if (StringUtils.isNotEmpty(name)){
        queryWrapper.like(Menu::getName,name);
    }
    // 查询所有数据
    List<Menu> list = list(queryWrapper);
    // 找出pid为null的一级菜单
    List<Menu> parentNodes = list.stream().filter(menu -> menu.getPid() == null).collect(Collectors.toList());
    // 找出一级菜单的子菜单
    for (Menu menuItem : parentNodes) {
        // 筛选所有数据中pid=父级id的数据就是二级菜单
        menuItem.setChildren(list.stream().filter(m -> menuItem.getId().equals(m.getPid())).collect(Collectors.toList()));
    }
    return Result.success(parentNodes);
}


4. 前端使用map和reduce统计总和

let arr = [1, 2, 3, 4, 5];
let sum = arr.reduce(function (prev, cur, index, arr) {
    console.log(prev, cur, index);
    return prev + cur;
});
console.log('arr:', arr, 'sum:', sum);
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值