【发布时间】:2018-02-10 22:07:50
【问题描述】:
我正在尝试解决一个简单的挑战,我编写了一个返回数组中第一个重复数字的函数。
这是我尝试过的:
function duplicateNumber(arr) {
for (var i = 0; i < arr.length; i++) {
for (var j = arr.length; j >= 0; j--) {
if (arr[i] === arr[j]) {
var dup_num = arr[i]
}
}
}
return dup_num
}
它似乎不起作用。我做错了什么?
刚刚意识到我也在从头到尾循环和从头到尾。
在数组中 = [3, 5, 6, 8, 5, 3]
重复号码应该是5,因为它在3之前重复。
【问题讨论】:
-
发布输入数组
-
您是否尝试使用debugger 单步执行该代码?
-
您可以修改或复制数组吗?
-
道歉,所以我误读了这个问题。在这种情况下:array = [3, 5, 6, 8, 5, 3] 返回值应该是 5,因为它是数组中要复制的第一个值。
-
这里不需要两个数组。如果您执行
arr.sort()以便对值进行数字排序,则只需将数组中的每个项目与其前一个项目进行比较。如果匹配,则返回。
标签: javascript arrays algorithm array-algorithms