首页 > 解决方案 > 通过将键传递给 react 和 lodash 中的对象数组来获取值

问题描述

我有一个看起来像的对象:

let result = {
    status: 'success',
    Node: {
      Node: [{
        name:'A',
        url: 'homeURL'
      },{
        name:'b',
        url: 'AboutURL'
      },{
        name:'c',
        url: 'LogoURL'
      }]
    },
    resultNode: [{
        UserInfo:'AboutURL',
        type:'data'
    }]
}

现在在这里我试图从具有 url 键值的 Node 数组和从 resultNode 对象 UserInfo 键值相同的对象中获取对象

所以我想回来。

{        name:'b',
        url: 'AboutURL'
      }

这个对象。

我尝试的是使用 lodash

result?.Node_.find((node) => {
   result?.resultNode.map((resultnode) => {
         return resultnode.UserInfo === node.url 
})
})

但这不起作用,如何解决这个问题?

标签: javascriptreactjslodash

解决方案


你可以在没有 lodash 的情况下试试这个:

let rs = result.Node.Node.filter((node)=>
  result.resultNode.some((resNode)=>resNode.UserInfo === node.url)
);

推荐阅读