gpt4 book ai didi

javascript - 函数调用其他函数练习我被难住了

转载 作者:行者123 更新时间:2023-12-02 22:46:18 26 4
gpt4 key购买 nike

我第一次在这里发帖,在 11 月份报名参加的为期 6 个月的全栈训练营的前期工作中遇到了障碍。

我正在 repl.it 上做一些练习,这个练习是关于 javascript 函数的。你被告知要编写 3 个函数,分别称为 mealMaker、slice 和 Cook。

您将得到一个空数组,并被告知用对象填充它,如下所示:

const arrayOfFoodObjects = [
{
"food": "beef",
"type": "meat"
},
{
"food": "zucchini",
"type": "vegetable"
},
{
"food": "bacon",
"type": "meat"
},
{
"food": "okra",
"type": "vegetable"
}
];

他们希望您让 Cook 函数获取所有具有“type”:“meat”的对象并返回一个字符串,其中显示“Cooked(“food”:value)”(例如“Cooked Beef”),类似地“type”的切片函数:“vegetable”他们想要“(“food”:value)切片”(例如“秋葵切片”)。

然后,mealMaker 函数获取这些函数输出的内容并创建一个数组,如下所示:[“煮熟的牛肉”,“秋葵片”...]。

我陷入困境的是我编写了一个 .filter() 函数,该函数仅返回这些对象的过滤数组,我很快意识到这些对象无法达到其目的。我想我正在尝试弄清楚如何编写一个函数,以便我可以分别过滤肉类和蔬菜,然后让它们吐出所需的字符串。

让我困惑的是如何定位“food”值并在使用“type”值过滤后将其插入到某个字符串中。

这是我迄今为止编写的其余代码,可能有帮助,也可能没有帮助。

var redMeat = arrayOfFoodObjects.filter(function(cook) {
return cook.type == "meat";
});


var veggies = arrayOfFoodObjects.filter(function(slice) {
return slice.type == "vegetable";
});

console.log(veggies, redMeat)

控制台看起来像:

[ { food: 'zucchini', type: 'vegetable' },
{ food: 'okra', type: 'vegetable' } ] [ { food: 'beef', type: 'meat' },
{ food: 'bacon', type: 'meat' } ]

我可能没有以正确的方式解决这个问题,因为我花了很多时间尝试在谷歌上找到的不同东西,并尽可能地应用它们,但这是我设法得到的最接近的结果。非常感谢任何帮助,谢谢。

PS 我不太熟悉这种函数格式,因为我是通过 Google 搜索得出的。如果有人不介意解释这与我习惯看到的函数格式有何不同,那就太棒了。我不确定它的哪一部分是函数的“名称”。到目前为止我使用过的函数通常如下所示:

function nameOfFunction(value(s)) {
*action*;
}

最佳答案

你没有按照他们的要求去做。他们想要一个 cook 函数和一个 slice 函数:

function cook(arr){
//for each element of the array, return its mapped value (they ask a string)
return arr.map( function(foodObject){
return `Cooked ${foodObject.food}`
})
}
function slice(arr){
//do it
}
let cooks = cook(arrayOfFoodObjects)
let slices = slice(arrayOfFoodObjects)

然后将函数输出的内容提供给 mealMaker (按照指示):

function mealMaker(cooks, slices){
return cooks.map( function(cook, idxCook){
let slice = slices[idxCook];
//guess what to do with cook and slice
})
}
mealMaker(cooks, slices)

关于javascript - 函数调用其他函数练习我被难住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58388534/

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