2017-03-15 11 views
-1

配列をパラメータとして受け取り、その配列の項目に先行する番号の文字列を返します。たとえば。以下のlineアレイは、Ava,Adam,Johnの3つのメンバーを有する。これはあなたの最後のreturn文を作る前のシリアル番号を持つ配列のメンバ

The line is currently: 1. Ava, 2. Adam, 3. John

line = ['Ava', 'Adam', 'John'] 
function currentLine(line) { 
    if (line.length === 0) { 
    return "The line is currently empty."; 
    } 
    return "The line is currently: " 
} 

答えて

2

:私は、関数は次の文字列を返すようにしたい

var result = line.map(function (value, index) { 
    return (index + 1) + '. ' + value; 
}).join(', '); 
return "The line is currently: " + result; 
+2

アイテム0、1、2の代わりに、1、2、3にラベルを付けていないということ? – nnnnnn

+0

[恥知らずの絵文字で私の頭をぶら下げ] –

+0

これは、私の意見では、それがいかに簡潔であるかのための最良の方法です。 – Euroclydon37

0

あなたは次の方法でこれを実現することができ...

let line = ['Ava', 'Adam', 'John']; 
 
function currentLine(line) { 
 
    if (line.length !== 0) { 
 
    let result = "The line is currently: "; 
 
    line.forEach((e, i) => { 
 
     result += (i + 1) + '. ' + e + ', '; 
 
    }); 
 
    return result.slice(0,-2); 
 
    } else return "The line is currently empty."; 
 
} 
 
console.log(currentLine(line));

+0

これにより、最後に余分な "、"が生成されます。 ;) –

+0

@OusmaneMahyDiaw ya私が知っている:) – m87

+1

だから 'return result.slice(0、-2)'。 – nnnnnn

0

var line = ['Ava', 'Adam', 'John'] 
 
function currentLine(line) { 
 
    if (line.length === 0) { 
 
     return "The line is currently empty."; 
 
    } 
 
    var newLine = line.map(function (item ,index){ 
 
    \t return (index+1) + ". " + item; 
 
    }); 
 
    return "The line is currently: " + newLine.join(", "); 
 
} 
 
console.log(currentLine(line));

0

ナズ - アル、

このコードは、所望の結果を達成することができます。さらに、他の配列を関数に渡して同じ出力を得ることができます。

var line = ['Ava', 'Adam', 'John']; 
 

 
function currentLine(array) { 
 
var output = ""; 
 
    if (array.length === 0) { 
 
    return "The line is currently empty."; 
 
    } 
 
    else { 
 
    \t for(var i = 0; i < array.length; i++){ 
 
\t \t output += (Number([i]) + 1) + ". " + array[i]; 
 
\t \t \t if(i !== array.length - 1) { 
 
\t \t \t \t output = output + ", "; 
 
\t \t \t } 
 
\t \t } 
 
\t } 
 
\t return "The line is currently: " + output; 
 
}

関連する問題