数组中的javascript筛选器数据数组

fxnxkyjh  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(442)

这是我的档案

  1. const tabledata =
  2. { 0:
  3. { Id: 1
  4. , name: 'test1'
  5. , parameters:
  6. [ { name: 'application_instance', value: 'home', type: 'generic' }
  7. , { name: 'application_name', value: 'initial', type: 'generic' }
  8. , { name: 'application_role', value: 'disk_init_role', type: 'generic' }
  9. , { name: 'customer_environment', value: 'development', type: 'generic' }
  10. , { name: 'customer_name', value: 'guest', type: 'generic' }
  11. ] }
  12. , 1:
  13. { Id: 2
  14. , name: 'test2'
  15. , parameters:
  16. [ { name: 'application_instance', value: 'home', type: 'generic' }
  17. , { name: 'application_name', value: 'disk_init', type: 'generic' }
  18. , { name: 'application_role', value: 'initial', type: 'generic' }
  19. , { name: 'customer_environment', value: 'development', type: 'generic' }
  20. , { name: 'customer_name', value: 'guest', type: 'generic' }
  21. ] }
  22. , 2:
  23. { Id: 3
  24. , name: 'test3'
  25. , parameters:
  26. [ { name: 'application_instance', value: 'home', type: 'generic' }
  27. , { name: 'application_name', value: 'initial', type: 'generic' }
  28. , { name: 'application_role', value: 'initial', type: 'generic' }
  29. , { name: 'customer_environment', value: 'development', type: 'generic' }
  30. , { name: 'customer_name', value: 'guest', type: 'generic' }
  31. ] }
  32. , 3:
  33. { Id: 4
  34. , name: 'test4'
  35. , parameters:
  36. [ { name: 'application_instance', value: 'home', type: 'generic' }
  37. , { name: 'application_name', value: 'initial', type: 'generic' }
  38. , { name: 'application_role', value: 'disk_init_role', type: 'generic' }
  39. , { name: 'customer_environment', value: 'development', type: 'generic' }
  40. , { name: 'customer_name', value: 'guest', type: 'generic' }
  41. ] }
  42. , 5:
  43. { Id: 5
  44. , name: 'test5'
  45. , parameters:
  46. [ { name: 'application_instance', value: 'home', type: 'generic' }
  47. , { name: 'application_name', value: 'initial_disk_init', type: 'generic' }
  48. , { name: 'application_role', value: 'disk_initial', type: 'generic' }
  49. , { name: 'customer_environment', value: 'development', type: 'generic' }
  50. , { name: 'customer_name', value: 'guest', type: 'generic' }
  51. ] } }

我需要过滤所有已删除的数据 name 属于 'application_role'value 属于 'initial' 我尝试了不同的过滤器,但它们都给出了错误的结果,因为在应用程序的名称中有一个olso值initial,过滤器将此值添加到结果中。
因此,数据需要明确说明:
parameters[x].name === 'application_role' parameters[x].value === 'initial'

ewm0tg9j

ewm0tg9j1#

使用 Array.prototype.filterArray.prototype.some 为了实现你的目标。试试这个-

  1. var data={0:{Id:1,name:'test1',parameters:[{name:'application_instance',value:'home',type:'generic'},{name:'application_name',value:'initial',type:'generic'},{name:'application_role',value:'disk_init_role',type:'generic'},{name:'customer_environment',value:'development',type:'generic'},{name:'customer_name',value:'guest',type:'generic'}]},1:{Id:2,name:'test2',parameters:[{name:'application_instance',value:'home',type:'generic'},{name:'application_name',value:'disk_init',type:'generic'},{name:'application_role',value:'initial',type:'generic'},{name:'customer_environment',value:'development',type:'generic'},{name:'customer_name',value:'guest',type:'generic'}]},2:{Id:3,name:'test3',parameters:[{name:'application_instance',value:'home',type:'generic'},{name:'application_name',value:'initial',type:'generic'},{name:'application_role',value:'initial',type:'generic'},{name:'customer_environment',value:'development',type:'generic'},{name:'customer_name',value:'guest',type:'generic'}]},3:{Id:4,name:'test4',parameters:[{name:'application_instance',value:'home',type:'generic'},{name:'application_name',value:'initial',type:'generic'},{name:'application_role',value:'disk_init_role',type:'generic'},{name:'customer_environment',value:'development',type:'generic'},{name:'customer_name',value:'guest',type:'generic'}]},5:{Id:5,name:'test5',parameters:[{name:'application_instance',value:'home',type:'generic'},{name:'application_name',value:'initial_disk_init',type:'generic'},{name:'application_role',value:'disk_initial',type:'generic'},{name:'customer_environment',value:'development',type:'generic'},{name:'customer_name',value:'guest',type:'generic'}]}};
  2. const res = Object.values(data).filter(
  3. item => item.parameters.some(param => param.name === 'application_role' && param.value === 'initial')
  4. );
  5. console.log({...res});
  1. .as-console-wrapper {min-height: 100%!important; top: 0}

相关问题