gpt4 book ai didi

javascript - 函数式 Javascript 算法未从过滤器返回预期结果

转载 作者:行者123 更新时间:2023-12-02 15:07:45 25 4
gpt4 key购买 nike

我正在练习在 Javascript 中使用 map()、filter() 和 concatAll()。我期望下面的代码返回以下内容:

[{
"id": 70111470,
"title": "Die Hard",
"boxart":"http://cdn-0.nflximg.com/images/2891/DieHard150.jpg"
}]

它没有从盒子艺术中提取 URL,我不知道为什么。运行代码时得到以下输出:

[{"id": 70111470,"title": "Die Hard"}]
function() {
var movieLists = [
{
name: "Instant Queue",
videos : [
{
"id": 70111470,
"title": "Die Hard",
"boxarts": [
{ width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/DieHard150.jpg" },
{ width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/DieHard200.jpg" }
],
"url": "http://api.netflix.com/catalog/titles/movies/70111470",
"rating": 4.0,
"bookmark": []
}
]
}
];

getBoxart = function(boxart){
return boxart.width==150;
};

getVideoData = function(video){return {id: video.id,
title: video.title,
boxart: video.boxarts.filter(getBoxart).url}
};

getVideos = function(movie){return movie.videos.map(getVideoData)}

return movieLists.map(getVideos).concatAll();
}

最佳答案

问题是这一行:video.boxarts.filter(getBoxart).url

过滤器返回一个盒子艺术数组(没有 url 属性)

您要么需要在过滤器之后进行映射以返回网址数组,要么只获取第一个网址

关于javascript - 函数式 Javascript 算法未从过滤器返回预期结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34999203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com