配列に重複が含まれているかどうかをチェックする簡単な関数を書いていますが、そうでない場合はtrueを返します。JavaScript戻り値が返されない
function containsDuplicates(a) {
var hash = {};
a.forEach((elem, index) => {
if (hash[elem] === undefined) {
hash[elem] = 1;
} else {
console.log('true')
return true;
}
if (index === a.length - 1) {
console.log('false')
return false;
}
})
}
var arr = [1, 2, 3, 4];
containsDuplicates(arr)
私のconsole.logは正常に記録されますが、復帰には当たらないようです。私のすべての関数は毎回未定義に戻ります。これはなぜですか?
forEachの代わりに 'for ... of'を使用してください。 – lilezek
あなたは間違った方法を使用しています。 some()またはevery()を使用する必要があります。 – epascarello