2017-11-12 1 views
0

私はちょうど1 prompt();を使用して、リストに複数の値を追加することができますどのように質問配列内の項目への 'prompt()'の結果を分割しますか?

コード

let items = []; 
action = prompt("Enter"); 

私の入力がHello World!であれば、どのように私は私のリストはこのように見えることができます:

items = ["Hello", "World!"]; 

試み

これが最も近くなります私は得ることができます(私は1つだけprompt();を使用することができます) :

let first = prompt("Enter 1"); 
let second = prompt("Enter 2"); 
items.push(first); 
items.push(second); 
+0

と現在の配列をマージするにはそれはあなたが使用して、あなたを行うことになるセパレーターに依存項目によって意味するか?何がコンディショニングされてアイテムになっていますか? –

+0

['split'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) – Bergi

答えて

2

次の2つの別々の値で配列を取得するために受け取った文字列を分割することができます。

let action = prompt(); 
 
let items = action.split(' '); 
 

 
console.log(items);

0

セパレータとしてwhitespaceを指定することにより、String.splitを使用します。

スプリット()メソッドは、ここで、各分割を行うことを決定するために指定されたセパレータ 文字列を使用して、サブストリングに文字列を分離 によって文字列の配列に文字列オブジェクトを分割します。例えば

let inputFromPrompt = prompt("Enter"); 
// then enter "Hello World!" 
let token = inputFromPrompt.split(' '); 
+0

私はES6構文を使用しています。 – SantaticHacker

+0

私は 'let'で更新しました。しかし、 'var'はES6では合法であり、関数内で受け入れられるかもしれないことに注意してください。 – davidxxx

+0

@SantaticHacker 'split'はES6でうまく動作しますか? – Bergi

1

あなたの期待される結果はそのようなものですか?

let items = [], action, i = 1; 
 
    
 
while(action = prompt(`Enter ${i++}`)){ 
 
    items = items.concat(action.split(" ")); 
 
} 
 
    
 
console.log(items); 
 

 
//Enter 1: hello world 
 
//Enter 2: four five 
 
//[Cancel] prompt 
 

 
//Result: ["hello", "world", "four", "five"]

.split(" ")space

.concat(items)で区切り言葉:前の配列

+0

いいえ、プロンプトをキャンセルすると、ループは終了します –

+1

明らかに正確な例ではありませんが、動作しているものの期待に適応できます。 –

関連する問題