Javascript 如何避免超车;“关键”;作为映射的参数,在使用Object.entries迭代键值对时减少或过滤?

Javascript 如何避免超车;“关键”;作为映射的参数,在使用Object.entries迭代键值对时减少或过滤?,javascript,reactjs,Javascript,Reactjs,我按照中的答案过滤JS中的键值对 我有一个键值对的对象。 我正试着做这样的事情 { Object.entries(this.state.passengers) .filter(([key, passenger]) => passenger.flightNumber === this.props.flightNumber) .map(([key, passenger]) => { return ( <tr

我按照中的答案过滤JS中的键值对

我有一个键值对的对象。 我正试着做这样的事情

{
   Object.entries(this.state.passengers)
      .filter(([key, passenger]) => passenger.flightNumber === this.props.flightNumber)
      .map(([key, passenger]) => {
         return ( 
            <tr key = {key}>
            //...JSX code
         )
      })
}
{
Object.entries(this.state.patients)
.filter(([key,passenger])=>passenger.flightNumber===this.props.flightNumber)
.地图([钥匙,乘客])=>{
报税表(
//…JSX代码
)
})
}

我在控制台中收到警告,表示未使用密钥。我没有找到正确的语法来避免将key作为参数传递给filter方法。不过我想将密钥传递给后续的map方法。请帮忙。我是JS新手。

您在这里有几个选项,最简单的可能是在您的解构赋值中找到第一个数组值,这样您的
.map()
回调中就不会首先定义

.map(([, passenger]) => {
此外,另一种方法可能是使用
Object.keys()
,然后通过
键获取值:

Object.keys(this.state.passengers)
  .filter(key => this.state.passengers[key].flightNumber === this.props.flightNumber)
  .map(key => {
    return ( 
      <tr key = {key}>
      //...JSX code
    )
  })
Object.key(this.state.passengers)
.filter(key=>this.state.patients[key].flightNumber==this.props.flightNumber)
.map(键=>{
报税表(
//…JSX代码
)
})

您可以使用
Object.values
如果您只需要这些值,那么在回调中像这样获取值:
passenger=>
@NickParsons,我编辑了我的问题。如果我想将其传递给map方法,我该怎么办?我现在明白了,您可以尝试在筛选方法中将
键替换为
-
通常用于表示未使用的参数,因此您的控制台可能不会对此抱怨-否则,您可以从对象获取
对象.keys()
,如果您真的担心解决问题,请使用键this.state.patients[key]
获取值warning@MohammedShirhaan另一个想法可能是不为第一个数组插槽定义变量,这样
([,passenger])=>
就可以删除警告?@NickParsons,我也尝试过同样的方法。它正在工作。谢谢你,伙计。