【发布时间】:2019-06-23 15:01:09
【问题描述】:
我正在尝试使用 arrayOne 并将索引除以与 arrayTwo 等效的索引号。为了便于阅读,我编写了这个非常简洁的原始代码模型。
尝试使用不同的语法重新编写代码,但无法修复它。
let arrayOne = [ 2,7,5,89,4,67,8,5,3,8];
let arrayTwo = [ 5,87,5,3,7,89,5,34,7,98];
for( i = 0; i < arrayOne.length; i++){
let arrayCombi = [arrayOne[i] / arrayTwo[i]];
console.log(arrayCombi);
let topScore = 0;
for( a = 0; a < arrayOne.length; a++){
if (arrayCombi[a] > topScore){
topScore = arrayCombi[a];
console.log("Top Score; " + topScore);
}
}
}
由于某种原因,JS 似乎忽略了 If 语句,并将每个 arrayCombi 索引打印为 topScore,而不是仅在 arrayCombi[a] 大于 topScore 时更新 topScore。我假设我使用错误的迭代器。 如果可能的话,如果我能够从块代码中删除创建的arrayCombi 以供以后使用会容易得多。
【问题讨论】:
-
您可能会考虑在编写代码时使用一致的缩进 - 这将使阅读和调试变得更加容易,不仅对于潜在的回答者,而且对于您来说,当我们都可以看到
{}块及其嵌套级别一目了然,而不必仔细挑选每一行来挑选逻辑路径。 -
arrayCombi是干什么用的。我的意思是你期望它是什么 -
Visual Studio 代码通常为我完成所有这些工作,我在格式化 stackoverflow 的代码时遇到问题,抱歉。 arrayCombi (arrayCombination) 只是arrayOne的第一个索引除以arrayTwo的第一个索引,索引二,索引三......等等。它是为了找出产品的成本效率,我将产品的性能潜水产品的成本。
标签: javascript arrays scope