JS通过对象内的嵌套数组过滤对象数组

JS filter array of objects by a nested array within object

我有一组与此类似的对象

 let data = [
      {
        name: 'jake fisher',
        age: 24,
        team_ids: [1234, 5678, 9125],
      },

      {
        name: 'kelly smith',
        age: 46,
        team_ids: [3331, 8884, 1234, 8808, 7621],
      },

      {
        name: 'austin williams',
        age: 66,
        team_ids: [9125, 4445],
      },

      {
        name: 'alex rodriguez',
        age: 27,
        team_ids: [],
      },
    ];

我正在尝试将此对象数组过滤为仅包含 team_ids 个 1234 的对象 所以在这个例子中,仅有的两个拥有匹配的团队 ID 的是“Jake Fisher”和“Kelly Smith”。

我尝试了一些其他解决方案,其中一些让我相当接近,但似乎有一些严重的缺陷。我认为真正让我失望的是它是一个嵌套数组(我正在学习,但我没有 运行 经常参与其中!)任何帮助将不胜感激!

let data = [{
    name: 'jake fisher',
    age: 24,
    team_ids: [1234, 5678, 9125],
  },

  {
    name: 'kelly smith',
    age: 46,
    team_ids: [3331, 8884, 1234, 8808, 7621],
  },

  {
    name: 'austin williams',
    age: 66,
    team_ids: [9125, 4445],
  },

  {
    name: 'alex rodriguez',
    age: 27,
    team_ids: [],
  },
];

const result = data.filter(item => item.team_ids.indexOf(1234) !== -1)
console.log(result);

let data = [{
    name: 'jake fisher',
    age: 24,
    team_ids: [1234, 5678, 9125],
  },

  {
    name: 'kelly smith',
    age: 46,
    team_ids: [3331, 8884, 1234, 8808, 7621],
  },

  {
    name: 'austin williams',
    age: 66,
    team_ids: [9125, 4445],
  },

  {
    name: 'alex rodriguez',
    age: 27,
    team_ids: [],
  },
];

const result = data.filter(item => item.team_ids.includes(1234));
console.log(result);