【发布时间】:2023-03-15 23:05:01
【问题描述】:
我想查看数组并找到 3 的最小倍数,然后返回值或返回 false。
我已经按数字的大小对数组进行了排序,然后我使用了模运算符。
这是我所拥有的,但它似乎不起作用。这是我的代码:
function firstMultipleOf3(numbers) {
numbers.sort(function(a, b){return a - b});
console.log(numbers);
for (var i = 0 ; i < firstMultipleOf3.length ; i++) {
if (firstMultipleOf3[i] % 3 === 0) {
return [i];
} else {
return false;
}
}
}
console.log(firstMultipleOf3([52,98,42,17,33,24])); // 42
console.log(firstMultipleOf3([38,52,34,13,41])); // false
【问题讨论】:
-
[52,98,42,17,33,24].sort().find(n => n % 3 === 0) -
@dave
Array#sort没有回调将数组中的值排序为字符串[3,111,3,2,33].sort() // [111, 2, 3, 3, 33] -
firstMultipleOf3.length等于1(因为在这种情况下,您的函数只需要 1 个参数)。我想你的意思是写numbers.length。
标签: javascript arrays sorting modulo