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

如何筛选对象数组中包含指定兴趣的用户?

如何筛选对象数组中包含指定兴趣的用户?

嘿,我来帮你搞定这个问题!你现在拿到空数组的原因很简单:你的filter回调函数里没有返回正确的判断结果。

你用了forEach来遍历用户的兴趣数组,但forEach本身不会返回任何值,而且外层的filter回调也没给出明确的返回值,默认就会返回undefined(相当于false),所以筛选出来的结果自然是空数组啦。

正确的做法是用some()方法代替forEach,some()会遍历数组,只要找到一个符合条件的元素就会返回true,正好能帮我们判断这个用户的兴趣列表里有没有目标项。

修正后的代码是这样的:

var newArray = gesorteerdeMatchPercentages.filter((el) => {
  // 用some判断是否存在匹配的兴趣
  return el.intresses.some((item) => {
    return item.naam === "Afrika";
  });
});

console.log("new", newArray);

如果想让代码更简洁,还可以写成箭头函数的简写形式:

var newArray = gesorteerdeMatchPercentages.filter(el => 
  el.intresses.some(item => item.naam === "Afrika")
);

这样就能正确筛选出所有兴趣包含"Afrika"的用户了~

备注:内容来源于stack exchange,提问作者Mike

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 13:10:29