只需要帮助确定我在这个codewar挑战中做了什么错误。从数组中返回一个奇数或偶数
我意识到这可能对一些人很容易但请注意我只是一个初学者与Javascript。
挑战:
您将得到的阵列(其将具有至少3的长度,但 可能是非常大的)含有整数。该数组是或者完全 包含奇数的或者完全由偶数 除了单个整数N.收件,是以数组作为 一个参数,并返回N.
例如方法的:
[2, 4, 0, 100, 4, 11, 2602, 36]
应该返回11
。
[160, 3, 1719, 19, 11, 13, -21]
应该返回160
。
我的代码:
function findOutlier(integers){
var even = [];
var odd = [];
for (var i = 0; i < integers; i++) {
if (integers[i] % 2 === 0) {
even.push(integers[i]);
} else {
odd.push(integers[i]);
}
if (even.length === 1) {
return even;
} else {
return odd;
}
}
}
3个错误在你的代码。 1.你的循环中没有使用整数.length。 2.在第一次迭代中,您总是返回偶数组或奇数组,这可能是一个空数组。 3.你正在返回一个数组,而不是数字,所以请做偶数[0]和奇数[0] –
也只是一个提示,在JavaScript中你很少使用纯循环,因为你可以用.filter完成同样的事情, .reduce,.map或.forEach – Bergur