2017-02-27 6 views
0

90を超えるスコアをフィルタリングする方法は?

const shows = [ 
 
    { 
 
    title: `legion`, 
 
    season: 1, 
 
    score: 94, 
 
    }, { 
 
    title: `sneaky pete`, 
 
    season: 1, 
 
    score: 100, 
 
    }, { 
 
    title: `santa clarita diet`, 
 
    season: 1, 
 
    score: 71, 
 
    }, { 
 
    title: `riverdale`, 
 
    season: 1, 
 
    score: 87, 
 
    }, { 
 
    title: `the young pope`, 
 
    season: 1, 
 
    score: 74, 
 
    }, { 
 
    title: `a series of unfortunate events`, 
 
    season: 1, 
 
    score: 94, 
 
    }, { 
 
    title: `taboo`, 
 
    season: 1, 
 
    score: 78, 
 
    }, { 
 
    title: `colony`, 
 
    season: 2, 
 
    score: 100, 
 
    }, { 
 
    title: `24: legacy`, 
 
    season: 1, 
 
    score: 57, 
 
    }, { 
 
    title: `speechless`, 
 
    season: 1, 
 
    score: 98, 
 
    }, { 
 
    title: `scherlock`, 
 
    season: 4, 
 
    score: 65, 
 
    }, { 
 
    title: `stranger things`, 
 
    season: 1, 
 
    score: 95, 
 
    }, { 
 
    title: `this is us`, 
 
    season: 1, 
 
    score: 89, 
 
    }, { 
 
    title: `timeless`, 
 
    season: 1, 
 
    score: 84, 
 
    }, { 
 
    title: `the oa`, 
 
    season: 1, 
 
    score: 73, 
 
    }, 
 
]; 
 

 
const wrapWithTag = (content, tagname) => `<${tagname}>${content}</${tagname}>`; 
 

 
const topScoreFilter = show => { 90, 95, 94, 100 }; 
 

 
shows.filter(topScoreFilter); 
 

 
document.write(`<ol>`); 
 
shows.forEach(show => document.write(wrapWithTag(show.title + ` ` + `(` + show.score + `%` + `)`, `li`))); 
 
document.write(`</ol>`);

は、どのように私はタイトルで90以上のスコアが表示され、90アンダースコアが表示されないこと、それを得るのですか?

+1

テンプレートリテラルを使用している場合は、*(すべてのそれらの連結を行いません)*テンプレートリテラルを使用しています。 – nnnnnn

答えて

4

あなたはfilterを使用することができます。

var aboveNinety = shows.filter(show=>show.score > 90); 
+2

ES6が利用可能なので、 'shows.filter(({score})=> score> 90)' –

+0

何らかの理由でコードが機能しない –

+0

そのコードは90以上のスコアを持つすべての番組を見つける新しい配列を返しますが、 'shows'からそれを削除することはありません。メインアレイにはまだすべてのショーがあります。 – JohanP

関連する問題