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

如何用原生JavaScript筛选含特定ID的嵌套JSON对象?

原生JavaScript筛选特定ID的国家GeoJSON对象

没问题,完全用原生JS就能搞定,不用依赖jQuery这类库~

你的GeoJSON结构里,所有国家的几何数据都存在world.objects.countries.geometries这个数组里,我们可以用数组原生的filter()方法来筛选符合条件的项,步骤很简单:

基础实现:筛选指定单个/多个ID

先拿到所有国家的数组,再用filter()判断每个对象的id是否是你要的4或24:

// 获取所有国家的几何对象数组
const allCountries = world.objects.countries.geometries;

// 筛选id为4或24的国家
const filteredCountries = allCountries.filter(country => {
  return country.id === 4 || country.id === 24;
});

// 输出筛选结果
console.log(filteredCountries);

更灵活的写法:适配多个ID场景

如果后续你需要筛选更多ID(比如再加个8),把目标ID放到一个数组里,用includes()方法会更易维护:

// 可以随时添加或修改目标ID列表
const targetIds = [4, 24];
const filteredCountries = allCountries.filter(country => targetIds.includes(country.id));

简单说明下原理

filter()是ES5就支持的数组原生方法,它会遍历数组中的每一项,把符合回调函数条件的元素收集起来,返回一个全新的数组,不会改动原数组,非常安全可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:20:31