js根据某个字段去匹配‘数组对象中的某项,并返回出来

发布于 2022-09-12 02:15:31 字数 650 浏览 17 评论 0

根据test这个字段去匹配数组对象中的key-value值,并返回来

问题出现的环境背景及自己尝试过哪些方法

花了1一个小时遍历,愣是没整出来,
大佬请支援一下

相关代码

原数据

[
  {
    test_a:'小明',
    test_b:'小红',
    test_c:'小白',
    :
    opp_a:'12',
    opp_b:'13',
    ...
    //:和...表示很多项的,以上就是举个例子
  },
  {
    test_a:'小方',
    test_b:'小将',
    test_c:'小凉',
    :
    opp_a:'12',
    opp_b:'14'
    ...
   //:和...表示很多项的,以上就是举个例子
  }
]

你期待的结果是:

需要实现的数据

[
  {
    test_a:'小明',
    test_b:'小红',
    test_c:'小白',
    :
    test_z:'小黄'
  },
  {
    test_a:'小方',
    test_b:'小将',
    test_c:'小凉',
    :
    test_z:'小飞'
  }
]

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

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

发布评论

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

评论(2

老旧海报 2022-09-19 02:15:31
var arr = [
    {
      test_a:'小明',
      test_b:'小红',
      test_c:'小白',
      opp_a:'12',
      opp_b:'13'
    },
    {
      test_a:'小方',
      test_b:'小将',
      test_c:'小凉',
      opp_a:'12',
      opp_b:'14'
    }
  ]

var result = arr.map((item)=>{
    for(key in item) {
        if(key.indexOf('test') < 0){
            delete item[key]
        }
    }
    return item
})

console.log(result)
一生独一 2022-09-19 02:15:31
var x = [
  {
    test_a:'小明',
    test_b:'小红',
    test_c:'小白',
    opp_a:'12',
    opp_b:'13'
  },
  {
    test_a:'小方',
    test_b:'小将',
    test_c:'小凉',
    opp_a:'12',
    opp_b:'14'
  }
];
var y = [];
x.map(function(item){ // 循环所有对象
    var temp = {}; //临时变量存储当前对象中含有test字符串的键值对
    Object.keys(item).map(function(key) { //找到当前对象的所有键,并循环
        if (key.indexOf('test')> -1) {
            temp[key] = item[key];
        }
    });
    if (Object.keys(temp).length) { //临时变量有属性时保存
        y.push(temp);
    }
});
console.log(y);

image.png

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