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

如何筛选data对象,仅保留crop为Eiche和Kiefer的条目?

按指定crop值筛选数据对象的实现方法

需求说明

现有如下结构的data对象(可视为类数组或标准数组):

const data = [
  {pppId: '005618-00', eppo: 'FAUSY', crop: 'Rotbuche'},
  {pppId: '005618-00', eppo: 'PSTME', crop: 'Douglasie'},
  {pppId: '005618-00', eppo: 'QUESS', crop: 'Eiche'},
  {pppId: '005618-00', eppo: 'YLAGL', crop: 'Langholzpolter'},
  {pppId: '005618-00', eppo: 'PIEPU', crop: 'Blaufichte'},
  {pppId: '005618-00', eppo: 'ALUSS', crop: 'Erle'},
  {pppId: '005618-00', eppo: 'POPSS', crop: 'Pappel'},
  {pppId: '005618-00', eppo: 'YLAGE', crop: 'Einzelstämme'},
  {pppId: '005618-00', eppo: 'NNNZG', crop: 'Ziergehölze'},
  {pppId: '005618-00', eppo: 'ACRCA', crop: 'Acer campestre'},
  {pppId: '005618-00', eppo: 'YLAGS', crop: 'Schichtholzpolter'},
  {pppId: '005618-00', eppo: 'PIUSS', crop: 'Kiefer'},
  {pppId: '005618-00', eppo: 'ABINO', crop: 'Nordmann-Tanne'},
  {pppId: '005618-00', eppo: 'CIPBE', crop: 'Carpinus betulus'},
  {pppId: '005618-00', eppo: 'LAXSS', crop: 'Lärche'}
];

需要筛选出crop字段值为Eiche或Kiefer的条目,最终结果如下:

[
  {pppId: '005618-00', eppo: 'QUESS', crop: 'Eiche'},
  {pppId: '005618-00', eppo: 'PIUSS', crop: 'Kiefer'}
]

实现方式

使用JavaScript的filter方法即可快速完成筛选,有两种实用写法:

写法一:直接指定判断条件

// 若原始data是带数字键的对象,先转成数组:const dataArray = Object.values(data);
const filteredData = data.filter(item => {
  return item.crop === 'Eiche' || item.crop === 'Kiefer';
});

写法二:用数组includes简化判断(更灵活)

如果后续需要增加更多筛选的crop值,直接修改目标数组即可,无需调整判断逻辑:

const targetCrops = ['Eiche', 'Kiefer'];
const filteredData = data.filter(item => targetCrops.includes(item.crop));

补充说明

filter方法会遍历数组中的每个元素,将符合条件的元素收集起来返回一个新数组,不会修改原始数据。如果原始data不是标准数组而是带数字键的对象,先用Object.values(data)转换为数组再执行筛选即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:33:38