如何用es6处理如下数据?

发布于 2022-09-12 04:27:32 字数 417 浏览 11 评论 0

let a = [{"key":[{"id":1,"value":'a'},{"id":3,"value":'b'}]},{"key":[{"id":2,"value":'aa'},{"id":4,"value":'bb'}]}];
let b = [{"index":1,"value":'va1'},{"index":2,"value":'va2'}];

如果a中id在b中的index 不存在,需要添加一个{"index":id值,"value":和id同级的value值}

期望数据

let c =  [{"index":1,"value":'va1'},{"index":2,"value":'va2'},{"index":3,"value":'b'},{"index":4,"value":'bb'}];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陈甜 2022-09-19 04:27:32
var indexs = new Set( b.map(item => item.index) );
var mores = a.reduce((res, item) => {
  item.key.forEach(o => {
    if( !indexs.has(o.id) )
      res.push({index: o.id, value: o.value})
  })
  return res;
}, []);

var c = b.concat(mores);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文