Javascript 按多个键过滤数组

Javascript 按多个键过滤数组,javascript,reactjs,Javascript,Reactjs,我准备了一些数组过滤功能: export default function App() { const input = [ {"unix":1, "val_1":"True", "val_2": 5, "val_3": 10}, {"unix":2, "val_1":"True", "val_2":

我准备了一些数组过滤功能:

export default function App() {
  const input = [
    {"unix":1, "val_1":"True", "val_2": 5, "val_3": 10},
    {"unix":2, "val_1":"True", "val_2": 5, "val_3": 10},
    {"unix":3, "val_1":"False", "val_2": 3, "val_3": 2},
    {"unix":4, "val_1":"True", "val_2": 7, "val_3": 1},
    {"unix":5, "val_1":"True", "val_2": 7, "val_3": 1},
  ]
  return (
    <div className="App">
      {
        [...new Map(input.map(i => [i.val_1+i.val_2+i.val3, i])).values()].map(
          (data) => {
            return (
              <div>
                <p>unix: {data.unix} val_1: {data.val_1} val_2: {data.val_2} val_3: {data.val_3}</p>
                <p>-----------------------</p>
              </div>
            )
          }
        )
      }
    </div>
  );
}
但我不确定这是个好主意

你觉得怎么样

编辑: 如果按val_1、val_2和val_3预期输出进行过滤:

unix: 2 val_1: True val_2: 5 val_3: 10

-----------------------

unix: 3 val_1: False val_2: 3 val_3: 2

-----------------------

unix: 5 val_1: True val_2: 7 val_3: 1

-----------------------

您应该指定基于哪个键进行筛选,例如,如果您希望基于以下条件返回iterms:

unix>2和item.val\u 1==True
然后您可以按如下方式执行:

filtered=input.filter(item=>item.unix>2&&item.val\u 1)
console.log(已过滤)

你一定错了。你想做什么?您希望得到什么输出?@CrispenGari,我添加了期望的输出。@CrispenGari请不要使用代码格式来强调;使用粗体(
**粗体**
)或斜体(
\u斜体
)进行强调。为代码保留代码格式。您根据什么条件进行筛选?是的,但是如何比较项[idx].val\u 1和项[idx+1].val\u 1?如果项[idx]。val_1==项[idx+1]。val_1?
项[idx+1]
在您的案例中使用筛选器时不可迭代,则只显示和项[idx]。你不能那样做
unix: 2 val_1: True val_2: 5 val_3: 10

-----------------------

unix: 3 val_1: False val_2: 3 val_3: 2

-----------------------

unix: 5 val_1: True val_2: 7 val_3: 1

-----------------------