【发布时间】:2023-02-07 04:29:27
【问题描述】:
我必须创建两个具有从 1 到 20 的随机值的 10 元素数组,并编写一个程序来打印两个数组中同时出现的最大值。
我创建了两个选项卡,如下所示。该程序应打印两个数组中同时出现的最大值。这里应该是 11。我知道如何从数组中获取最大值。我感谢帮助。
<script>
var max = 0;
var tab = [1, 2, 5, 8, 9, 11, 15, 16, 17, 20];
var tab2 = [3, 4, 6, 7, 10, 11, 12, 13, 14, 18];
for (var i = 0; i < tab.length; i++) {
if (max <= tab[i]) {
max = tab[i];
}
}
console.log(max);
</script>
【问题讨论】:
-
你到底在哪里卡住了?
-
对它们进行排序,然后循环比较 a === b 并查看是否匹配。当你有一个时停下来。
-
将其分解为两个任务,首先,如果一个元素同时存在于两个数组中,您将如何查找?那么,如果两者都存在,那么最大的是什么?困难的部分是第一个。为此,您必须将数组 A 的每个元素与数组 B 中的每个其他元素进行比较。直接的方法是使用两个嵌套循环。
-
想一想
tab.filter(item => tab2.includes(item))给你带来了什么,然后从那里开始。
标签: javascript arrays loops for-loop max