问答

js 根据id修改以下数据格式为新数组

作者:admin 2021-04-20 我要评论

const list = [{ id: '1', name: '苹果' }, { id: '2', name: '香蕉' }, { id: '3', name: '梨子' }] 原数据格式↓ const data = [['1', '2', '3'], ['1'], ['1'...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
const list = [{ id: '1', name: '苹果' }, { id: '2', name: '香蕉' }, { id: '3', name: '梨子' }]

原数据格式↓

const data = [['1', '2', '3'], ['1'], ['1', '2']]

理想效果↓

 const newData = [{ name: '苹果,香蕉,梨子', id: '1,2,3' },
                  { name: '苹果', id: '1' },
                  { name: '苹果,香蕉', id: '1,2' }]

data就是选中的id,id对应的name在list里面,id和name多个的话用逗号隔开

请教各位大神该如何操作,小弟在这里先谢谢各位大神的解答了,感激不尽!

###
const list = [
      { id: "1", name: "苹果" },
      { id: "2", name: "香蕉" },
      { id: "3", name: "梨子" }
    ];
    const data = [["1", "2", "3"], ["1"], ["1", "2"]];
    const result = data.map(item => {
      return item.reduce((a, b) => {
        const { name } = list.find(r => r.id == b) || {};
        return {
          name: a.name ? `${a.name},${name}` : name,
          id: a.id ? `${a.id},${b}` : b
        };
      }, {});
    });
    console.log(result);
    //转回data
    const res = result.map(item => item.id.split(","));
    console.log(res);

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx响应速度很慢

    nginx响应速度很慢

  • 点击选中的多选框,会在已选那一栏显示

    点击选中的多选框,会在已选那一栏显示

  • PHP 多态的理解

    PHP 多态的理解

  • 关于C语言中static的问题

    关于C语言中static的问题

腾讯云代理商
海外云服务器