/*以下の機能をご覧ください。そのシンプルな機能。ムービー配列を繰り返し処理して要素を返すようにしたい。要素のタイトルが渡された引数とまったく同じ場合のみ、それ以外の場合は反復の最後にfalseを返します。
問題は、常にfalseを返すことです。しかし、私はforEachループの代わりに通常のforloopを使用する場合、それは完璧に正常に動作します..誰かがなぜこの状況はどうか説明してください??????前もって感謝します。あなたがforEach
forEach
に渡されたコールバックの内側から戻っている は、*/forEach対forループ? forループはうまくいくようですが、forEachではできません。どうして?誰か説明できますか?
function searchMovies(title) {
movies.forEach(function(ele){
if(ele.title === title){
return ele;
}
});
return false;
}
//movies array
var movies = [
{title: 'The Hobbit'},
{title: 'The Great Gatsby'},
{title: 'Gone with the Wind'}
];
//the following line calls the function
searchMovies('The Great Gatsby');
注、これはあります**最後**代わりに一致**最初** – Phil
@Phil所望されず、見つかった要素が最初にアレイ全体をループであったであろう場合であってもインデックス! –
@ Philとibrahim、あなたは正しいです。私はちょうどそれらが試みたforEachを使用してそれを働かせる方法をそれらに示していた:) –