返回顶部

[vue.js] vue中判断两个数组里面的对象的属性值是否一样

[复制链接]
超级玛丽 显示全部楼层 发表于 2020-11-28 09:47:02 |阅读模式 打印 上一主题 下一主题
未解决77
36 1
vue中判断两个数组里面的对象的属性值是否一样
超级玛丽2020-11-28 09:47:02


第一个数组中的area_name和第二个数组中的chineseName一样的话 就把第二个数组中的icon赋值给第一个数组的对象中


附件: 您需要 登录 才可以下载或查看,没有账号?立即注册
回复

使用道具 举报

精彩评论1

admin 显示全部楼层 发表于 2020-11-28 09:49:50
第一个数组:A,第二个数组:B。
遍历 A,根据每一项的 area_name 在 B 中查找有没有 chineseName === area_name 的,找到的话就把对应的 icon 值加到当前被遍历的对象中:

  1. A.forEach(item => {
  2.     const matched = B.find(({ chineseName }) => chineseName === item.area_name);
  3.    
  4.     if (matched) {
  5.         Object.assign(item, { icon: matched.icon });
  6.     }
  7. });
复制代码

也可以把 B 先转成对象的形式:

  1. const _B = Object.fromEntries(B.map(({ chineseName, ...rest }) => [chineseName, rest]));

  2. A.forEach(item => {
  3.     const matched = _B[item.area_name];
  4.    
  5.     if (matched) {
  6.         Object.assign(item, { icon: matched.icon });
  7.     }
  8. });
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

星点互联 成立于2014年8月,是目前国内优秀的开源技术社区,拥有超过300万会员,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作