1

私はJavaScriptを学び始めたばかりなので、これはおそらく私の単純な間違いですが、私が問題を抱えているのは、各配列内の文字列ごとに異なる指示をコンソールに出力することになっていることです。今では、新しい配列内の個々の文字列ごとに命令を行う代わりに、毎回同じ要素を繰り返し、各繰り返しで次の文字列をそれらに追加します。

これが私のコードです:

const coffees = [ 
    "light colombian roast", "hawaiian dark roast", "guatemalan blend medium roast",
    "madagascar espresso roast", "jamaican dark blue", "jamaican medium roast",
    "salvador robusto light", "bali espresso roast"]

let lightRoast = []
let medRoast = []
let darkOrEspresso = []

for (const roast of coffees) 
{
    if (roast.includes("light") )
    {
        lightRoast.push(roast)
        console.log(`I'll have the ${lightRoast} and drink it black`)
    }
    else if (roast.includes("medium"))
    {
        medRoast.push(roast)
        console.log(`I'll have the ${medRoast} and add cream only`)
    }
    else if (roast.includes("dark") || roast.includes("espresso"))
    {
        darkOrEspresso.push(roast)
        console.log(`I'll have the ${darkOrEspresso} and add cream and sugar`)
    }
}

明るい、中、または暗い配列にあるかどうかに応じて、次のように新しい配列の個々の文字列ごとにこれらの指示をコンソールに出力させようとしています。

"I'll have the xxx and drink it black" 
"I'll have the xxx and add cream only"
"I'll have the xxx and add cream and sugar"

しかし、代わりに、文字列が正しい配列にあるが、それぞれが独自の行を持つのではなく、互いの上に追加されている次のような結果が得られます。

I'll have the light colombian roast,salvador robusto light and drink it black
I'll have the guatemalan blend medium roast,jamaican medium roast and add cream only
I'll have the hawaiian dark roast,madagascar espresso roast,jamaican dark blue,bali espresso roast and add cream and sugar

私が間違っていることを誰かが見てみませんか?うまくいけば、私の指示は理にかなっています。

4

2 に答える 2