“请在此长注释下方的文件中编写您的练习代码。请确保仅使用所分配的FreeCodeCamp课程中涵盖的语法和技术。”
(这里提到的材料是FreeCodeCamp基本JavaScript的110个课程,探索Var和Let关键字以及26个面向对象编程课程)
编写一个名为createMovie的函数,该函数期望接收三个参数:title、duration和quote。此函数应返回一个对象。返回的对象也应具有名为title、duration和quote的属性。分配给这些属性的值应该是传递给函数的值。此外,createMovie返回的对象应具有两个方法:
isLongerThan - 一个函数,它接受一个电影对象作为参数,并返回true,如果电影比作为参数传递给它的电影长,并返回false否则。
logQuote - 一个函数,将电影对象的quote属性的值记录到控制台中。
创建一个名为movies的变量并将其分配给一个数组。该数组应包含六个对象,这些对象通过调用createMovie函数创建。您应该传递给createMovie函数以创建这些对象的值是:
title | duration | line
----------------------------------------------------------------------------
Star Wars | 121 | If there's a bright center to the universe,
| | you're on the planet that it's farthest from.
| |
Pulp Fiction | 154 | Do you know what they call a Quarter Pounder
| | with Cheese in France?
| |
Dirty Dancing | 100 | Nobody puts Baby in a corner.
| |
Forrest Gump | 142 | Life is like a box of chocolates.
| |
The Wizard of Oz | 101 | Lions and tigers and bears, oh my!
| |
Cabaret | 124 | Life is a cabaret, old chum, so come to the
| | cabaret.
请编写以下两个函数,它们都使用电影数组来确定返回什么。
getMovieByTitle - 这个函数期望一个字符串作为参数,并返回在电影数组中其标题属性等于传递给它的字符串的对象(如果有的话)。
getAverageDuration - 这个函数返回数组中所有电影的平均持续时间。
您可以通过在Chrome中打开index.html并使用控制台来测试代码(请参见http://jsforcats.com/以获取有关使用控制台的说明)。在纠正打开控制台时看到的任何错误后,您可以运行像下面这样的命令并验证输出。
var starWars = getMovieByTitle('星球大战');
var pulpFiction = getMovieByTitle('低俗小说');
pulpFiction.isLongerThan(starWars);
pulpFiction.logQuote();
getAverageDuration();
所以我编写的代码是根据一些伪代码形成的,这是我能够接近答案的最佳方式。 我完全是新手,肯定咬了更多的东西。任何帮助都将不胜感激。 以下是我到目前为止的进展:
var Movies = [];
function CreateMovie (id, title, duration, quote) {
let Films = {
title: title,
duration: duration,
quote: quote,
isLongerThan: function (Movies) {
for (var x = 0; x < Movies.length; x++) {
for (var y = 0; y < Movies[x].length; y++) {
if (This.duration > Movies[x][y].duration) {
return true;
} else {
return false;
}
}
}
},
logQuote: function (title){
for (var x = 0; x < Movies.length; x++) {
for (var y = 0; y < Movies[x].length; y++){
if (Movies[x][y].hasOwnProperty(title)){
console.log(Movies[x][y].quote)
}
}
}
}
};
Movies.push(Films);
return Films;
};
function getMovieByTitle (title) {
for (var x = 0; x < Movies.length; x++) {
for (var y = 0; y < Movies[x].length; y++) {
if (title === Movies[x][y].title) {
return Movies[x];
} else {
return undefined;
}
};
function getAverageDuration () {
var totalMovies = [];
for (var i = 0; i < Movies.length; i++) {
totalMovies.push[i];
}
var durationTotal = 0;
for (var x = 0; x < Movies.length; x++) {
durationTotal += (Movies[x][2]) ;
}
var totalAvg = (durationTotal / totalMovies.length);
return totalAvg;
};
我知道这些可能都是完全无用的代码,但我希望如果有人能为我指点迷津,那么它可能会激励我继续学习编程,而不是放弃并永远在酒吧工作。