Javascript 使用.map过滤Json

Javascript 使用.map过滤Json,javascript,typescript,youtube-api,ionic3,Javascript,Typescript,Youtube Api,Ionic3,为了不显示私人视频,我正在尝试过滤这个.json。 这是一个youtube频道的应用程序。 有些视频是私人的,我不想在应用程序中显示它们。 我需要帮助过滤.json 目前它返回一个空的json。如果我删除.map,它将返回包含privete视频的完整视频列表 getPlayListVideos(listId: string) { return this.http.get('https://www.googleapis.com/youtube/v3/playlistItems?key='

为了不显示私人视频,我正在尝试过滤这个.json。 这是一个youtube频道的应用程序。 有些视频是私人的,我不想在应用程序中显示它们。 我需要帮助过滤.json

目前它返回一个空的json。如果我删除.map,它将返回包含privete视频的完整视频列表

getPlayListVideos(listId: string) {
    return this.http.get('https://www.googleapis.com/youtube/v3/playlistItems?key=' + this.apiKey + '&fields=items/snippet/resourceId/videoId,items/snippet/publishedAt,items/snippet/title,items/snippet/thumbnails/high/url&playlistId=' + listId +'&part=snippet,id&maxResults=25')
    .map((res) => {
      return res.json()['items'].filter(item => {
        if(item.snippet.title === 'Private video'){
          return false;
        }
       });
    })
}

如果不想筛选当前项,则需要返回true。当前,您隐式返回false或undefined,因为在这种情况下您不返回任何内容。因此,您需要这样做:

if(item.snippet.title === 'Private video'){
    return false;
} else {
    return true;
}
或者更好的是
返回item.snippet.title!='私人视频“

奖金格式-我个人会这样写:

  getPlayListVideos(listId: string): any[] {
       return this.http.get('https://www.googleapis.com/youtube/v3/playlistItems?key=' + this.apiKey + '&fields=items/snippet/resourceId/videoId,items/snippet/publishedAt,items/snippet/title,items/snippet/thumbnails/high/url&playlistId=' + listId + '&part=snippet,id&maxResults=25')
              .map(res => res.json()['Items'])
              .map((items: any[]) => items.filter(item => item.snippet.title !== 'Private video'))
  }

如果不想筛选当前项,则需要返回true。当前,您隐式返回false或undefined,因为在这种情况下您不返回任何内容。因此,您需要这样做:

if(item.snippet.title === 'Private video'){
    return false;
} else {
    return true;
}
或者更好的是
返回item.snippet.title!='私人视频“

奖金格式-我个人会这样写:

  getPlayListVideos(listId: string): any[] {
       return this.http.get('https://www.googleapis.com/youtube/v3/playlistItems?key=' + this.apiKey + '&fields=items/snippet/resourceId/videoId,items/snippet/publishedAt,items/snippet/title,items/snippet/thumbnails/high/url&playlistId=' + listId + '&part=snippet,id&maxResults=25')
              .map(res => res.json()['Items'])
              .map((items: any[]) => items.filter(item => item.snippet.title !== 'Private video'))
  }

确保正在对数组进行筛选,并且数组筛选器仅返回通过布尔检查的项,以确保真正的项不是私有项。如果您可以提供一个数据示例,我可以构建您需要的案例,以获得所需内容:)请确保您正在对数组进行筛选,并且数组筛选器仅返回通过布尔检查的项,以确保真正的项不是私有项。如果您能提供一个数据样本,我可以构建您需要的案例,以获得您想要的:)