You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何搜索对象数组并创建符合指定条件的新对象数组

筛选对象数组中所有符合条件的元素

你当前用的find方法只会返回数组里第一个匹配条件的对象,这就是为什么你只拿到单个结果。要获取所有state为nsw的对象组成的新数组,直接用你最初打算用的Array.filter()方法就行。

正确代码实现

const locations = [
    {
      id: 1,
      location: "Sydeny",
      state: "nsw",
    },
    {
      id: 2,
      location: "Melbourne",
      state: "victoria",
    },
    {
      id: 3,
      location: "Newcastle",
      state: "nsw",
    },
    {
      id: 4,
      location: "Perth",
      state: "wa",
    },
];

const result = locations?.filter(
  ({ state }) => state === 'nsw'
);

执行结果

result会是包含所有符合条件对象的新数组:

[
  { id: 1, location: "Sydeny", state: "nsw" },
  { id: 3, location: "Newcastle", state: "nsw" }
]

简单解释:filter()会遍历整个数组,把所有满足回调函数判断条件的元素筛选出来,最终返回一个新数组,不会修改原数组。

内容的提问来源于stack exchange,提问作者herbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 07:21:23