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

如何使用JavaScript或jQuery遍历数组并按site_id筛选展示匹配内容

代码问题排查与修复方案

你的代码共有2个核心错误,具体如下:

  • 过滤逻辑写反:filter 方法中返回条件写的是 el.site_id !== siteID,会把不匹配指定site_id的条目筛选出来,和你需要查询匹配项的需求完全相反,需要改成全等判断 ===
  • 回调参数引用错误:$.each 的回调函数参数定义为 index, value,但你在函数内使用了未定义的变量 el 读取字段,要么把参数名改为 el,要么把取值语句改成 value.name

修复后的完整代码

var siteID = 13;
// 你的源数组
var myArray = [
    {"id":23,"site_id":13, "name":"Test 1","date":"2019-01-26T11:02:18.5661283","category":"some cats"},
    {"id":151,"site_id":15, "name":"Test 2","date":"2018-11-04T10:50:53.1756567","category":"some cats"}
];

// 修复原有jQuery写法
$.each(myArray.filter(function (el) { 
    return el.site_id === siteID; // 修改判断逻辑,筛选匹配的条目
}), function(index, el) { // 修改参数名和后面的引用对应
    var fo = '<p>'+el.name+'</p>';
    $('.forms').append(fo);
});

可选优化方案(原生JS实现,无需依赖jQuery)

const siteID = 13;
myArray.filter(el => el.site_id === siteID)
    .forEach(el => $('.forms').append(`<p>${el.name}</p>`));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:45:04