Javascript 如何访问数组对象并使用新创建的函数再次调用它们?以问题代码为例
有人能告诉我这些JavaScript程序涉及哪些问题吗? 非常感谢您的建议和指正 有一个数组。应从该数组中创建三个函数。 编写以下三个函数。三者都应该使用火山 数组来确定要返回的内容 GetVactorByName-此函数需要一个字符串作为参数 并返回火山数组中name属性相等的对象 传递给它的字符串(如果有) GetVolcanesByCountry-此函数需要一个字符串作为参数和 返回一个数组,其中包含火山数组中 国家属性等于传递给它的字符串 getAverageHeight-此函数返回所有对象的平均高度 阵列中的火山Javascript 如何访问数组对象并使用新创建的函数再次调用它们?以问题代码为例,javascript,Javascript,有人能告诉我这些JavaScript程序涉及哪些问题吗? 非常感谢您的建议和指正 有一个数组。应从该数组中创建三个函数。 编写以下三个函数。三者都应该使用火山 数组来确定要返回的内容 GetVactorByName-此函数需要一个字符串作为参数 并返回火山数组中name属性相等的对象 传递给它的字符串(如果有) GetVolcanesByCountry-此函数需要一个字符串作为参数和 返回一个数组,其中包含火山数组中 国家属性等于传递给它的字符串 getAverageHeight-此函数返回所有
let火山=[
createVolcano(“埃亚菲亚德拉火山”,“冰岛”,1651年),
createVolcano('Krakatoa','Indonesia',2850),
createVolcano('Manua Loa','USA',4169),
createVolcano(‘埃特纳山’、‘意大利’、3326),
createVolcano(‘富士山’、‘日本’、3778),
createVolcano('圣海伦斯山','美国',2549年),
createVolcano('维苏威火山','意大利',1281年)
];
函数getByName(){
对于(var i=0;i{
归国
});
}
函数getAverageHeight(高度米){
var总和=0;
对于(var i=0;i<火山。高度米。长度;i++){
总和+=火山。高度米[i];
}
}
以下是一些有关函数的资源
createVolcano
,一个用于组装/构建/创建并返回对象的函数
function createVolcano(name, country, currentHeight) {
return {
name,
country,
heightInMeters: currentHeight,
};
}
让我们继续阅读,特别是关于如何做
在下一步中,我们将实现getVactorByName
,它将基于根据特定条件对实例中的项进行排序
function getVolcanoByName(list, value) {
return list.find(({ name }) => name === value);
}
然后,我们开始实现getVactoresByCountry
,它将基于对给定数组中的一个或多个项进行筛选(同样是根据条件),返回一个新数组,其中只包含筛选的项
最后,我们将计算getAverageVolcanoHeight
,在这里我们将使用它来汇总列表中所有火山项目的总高度。结果(总高度)立即除以计算中涉及的火山项目数量
function getAverageVolcanoeHeight(list) {
return (list.reduce((total, { heightInMeters }) =>
(total + heightInMeters), 0
) / list.length);
}
结合OP的示例,您可以运行和测试上述实现/提供的代码
函数名(列表,值){
返回list.find(({name})=>name==value);
}
函数GetVactoresByCountry(列表,值){
返回list.filter(({country})=>country==value);
}
函数GetAverageFireheight(列表){
return(list.reduce((总计,{heightInMeters})=>
(总高度+高度米),0
)/list.length);
}
函数(名称、国家/地区、当前高度){
返回{
名称
国家,,
高度计:当前高度,
};
}
常量火山学家=[
createVolcano(“埃亚菲亚德拉火山”,“冰岛”,1651年),
createVolcano('Krakatoa','Indonesia',2850),
createVolcano('Manua Loa','USA',4169),
createVolcano(‘埃特纳山’、‘意大利’、3326),
createVolcano(‘富士山’、‘日本’、3778),
createVolcano('圣海伦斯山','美国',2549年),
createVolcano(“维苏威火山”,“意大利”,1281年),
];
console.log({火山列表});
console.log(
“GetVactorByName(火山学家,“圣海伦斯山”)…”,
GetVactorByName(火山学家,“圣海伦斯山”)
);
console.log(
“getVolcanoByName(火山列表)…”,
getVolcanoByName(火山列表)
);
console.log(
“GetVactoresByCountry(意大利火山列表”),
GetVactoresByCountry(意大利火山列表)
);
console.log(
“GetVolcanesByCountry(火山列表)…”,
GetVactoresByCountry(火山列表)
);
console.log(
“获取平均火山高度(火山列表)…”,
获取平均火山高度(火山列表)
);代码>
.as控制台包装{min height:100%!important;top:0;}
第一个问题是从未定义过createVolcano
。您的问题是,您需要帮助为这个问题创建正确的函数吗?谢谢您的评论。你能给我解释一下什么是解决问题的最好方法吗?如果你能告诉我们问题是什么,事实上会好得多。这与告诉你的汽车修理工汽车发出噪音是一样的,这可能是很多事情。运行代码时应该有错误。这些错误会显示在浏览器的开发人员控制台中。通过这些错误,您可以了解出了什么问题。用搜索引擎查找错误。很可能是其他人遇到了同样的问题并找到了解决方案。如果运行上面的代码段,您将看到第一个错误。您尝试了什么(上面的代码实际上是自己尝试的结果)?你被困在哪里了?为观众(/问题)提供工厂功能的实现如何?非常好且详细的解释!感谢您提供的友好建议和可理解的提示!@彼得·塞利格:他是一个非常好的程序员,在这个领域有很好的教学能力。他的回答真的很有帮助,也有助于理解。
function getAverageVolcanoeHeight(list) {
return (list.reduce((total, { heightInMeters }) =>
(total + heightInMeters), 0
) / list.length);
}