01/10/2018, 16:50

Hỏi về ví dụ trên FreeCodeCamp

const greenTea = () => 'Green tea';
const blackTea = () => 'Black Tea';


const getTea = (prepareTea,numOfCup) => {
	const teaCups = [];
	
	for(let i=0; i<numOfCup; i++){
		const teaCup = prepareTea();
		teaCups.push(teaCup);
	}
	return teaCups;
};

const greenTea4TeamFFC = getTea(() => greenTea(),27);	
const blackTea4TeamFFC = getTea(() => blackTea(),13);

Cho tui hỏi về ví dụ 2 trên FCC, functional programing. Đã làm như đề bài nhưng console báo là 2 biến chưa được định nghĩa. Pro nào giúp tui với

Hung viết 18:51 ngày 01/10/2018

Câu này trong phần Functional Programming của JavaScript Data Structure và Algorithms Certificate đây mà.

Theo mình nhớ là đoạn code này trải dài tận mấy cái problems lận. Mỗi problem kèm chi tiết hướng dẫn, code, test case từng problem.

Còn bạn quăng cái code + test case bị fail thì không ai trả lời được đâu. Vì người ngoài đọc câu hỏi của bạn chưa đọc tất cả hướng dẫn miêu tả đoạn code và các test case cần kiềm tra.

viết 18:53 ngày 01/10/2018

Mình paste thử chạy bt luôn

Hung viết 18:56 ngày 01/10/2018

Mình đưa cái đề bài vậy:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/functional-programming/understand-functional-programming-terminology

#Functional Programming: Understand Functional Programming Terminology
The FCC Team had a mood swing and now wants two types of tea: green tea and black tea. General Fact: Client mood swings are pretty common.

With that information, we’ll need to revisit the getTea function from last challenge to handle various tea requests. We can modify getTea to accept a function as a parameter to be able to change the type of tea it prepares. This makes getTea more flexible, and gives the programmer more control when client requests change.

But first, let’s cover some functional terminology:

Callbacks are the functions that are slipped or passed into another function to decide the invocation of that function. You may have seen them passed to other methods, for example in filter, the callback function tells JavaScript the criteria for how to filter an array.

Functions that can be assigned to a variable, passed into another function, or returned from another function just like any other normal value, are called first class functions. In JavaScript, all functions are first class functions.

The functions that take a function as an argument, or return a function as a return value are called higher order functions.

When the functions are passed in to another function or returned from another function, then those functions which gets passed in or returned can be called a lambda.


Question:

Prepare 27 cups of green tea and 13 cups of black tea and store them in tea4GreenTeamFCC and tea4BlackTeamFCC variables, respectively. Note that the getTea function has been modified so it now takes a function as the first argument.

Note: The data (the number of cups of tea) is supplied as the last argument. We’ll discuss this more in later lessons.


Sample Code:

/**
 * A long process to prepare green tea.
 * @return {string} A cup of green tea.
 **/
const prepareGreenTea = () => 'greenTea';

/**
 * A long process to prepare black tea.
 * @return {string} A cup of black tea.
 **/
const prepareBlackTea = () => 'blackTea';

/**
 * Get given number of cups of tea.
 * @param {function():string} prepareTea The type of tea preparing function.
 * @param {number} numOfCups Number of required cups of tea.
 * @return {Array<string>} Given amount of tea cups.
 **/
const getTea = (prepareTea, numOfCups) => {
  const teaCups = [];

  for(let cups = 1; cups <= numOfCups; cups += 1) {
    const teaCup = prepareTea();
    teaCups.push(teaCup);
  }

  return teaCups;
};

// Add your code below this line

const tea4GreenTeamFCC = null;
const tea4BlackTeamFCC = null;

// Add your code above this line

console.log(
  tea4GreenTeamFCC,
  tea4BlackTeamFCC
);

Test cases:

  • The tea4GreenTeamFCC variable should hold 27 cups of green tea for the team.
  • The tea4GreenTeamFCC variable should hold cups of green tea.
  • The tea4BlackTeamFCC variable should hold 13 cups of black tea.
  • The tea4BlackTeamFCC variable should hold cups of black tea.

Solution: (Bonus)

const tea4GreenTeamFCC = getTea(prepareGreenTea, 27);
const tea4BlackTeamFCC = getTea(prepareBlackTea, 13);

Thông qua comment này để bạn biết cách đặt câu hỏi như thế nào, đưa đầy đủ context, test case, yêu cầu câu hỏi đề bài. Test case nào pass, test case nào fail. Đầy đủ dữ kiện thì người khác mới trả lời được.

Trương Tấn Phát viết 19:03 ngày 01/10/2018

Cái được là 27 và 13, còn 2 trường hợp còn lại là “cups of tea” có thể đó là tham số cho tea4GreenTeamFCCtea4BlackTeamFCC

Bài liên quan
0