課題【練習問題(変数/関数/処理の流れ)】ーNo.010
課題内容
- <概要>
- 配列を準備して、配列の「末尾」から、値を順番に消してみましょう。
- 消した値はコンソールに表示して、別の配列に入れておきましょう。
- データがなくなったこともコンソールに表示してみましょう。
- 最後に消したデータを入れた配列を使って、逆順を表示してみましょう。
- <配列に準備する値>
- 配列に準備する値としては、3つの文字列を入れましょう。
- 1つ目の値として「りんご」、
- 2つ目の値として「みかん」、
- 3つ目の値として「メロン」、
- 4つ目の値として「バナナ」、
- を入れてみましょう。
出力結果
コンソールに表示したい結果
------------------------
最初に配列の値を表示します。
------------------------
りんご
みかん
メロン
バナナ
------------------------
配列の値を消します。
------------------------
バナナを消しました。
配列の残りの要素数は3です。
メロンを消しました。
配列の残りの要素数は2です。
みかんを消しました。
配列の残りの要素数は1です。
りんごを消しました。
配列の残りの要素数は0です。
------------------------
消した値を順番に表示します。
------------------------
バナナ
メロン
みかん
りんご
ポイント(配列の値の取得)
配列の基本として、
- 配列は複数の値を入れることができるが、順番が大切。
- 「インデックス」と呼ばれる0からの番号で取得できる
ということを意識しましょう。
また、
今回の問題のポイントは「オブジェクト」を使用すること。
この「オブジェクト」は
// オブジェクト「sampleValue」に「test」が「テストの値」というデータを代入。
let sampleValue = {test: 'テストの値'};
// オブジェクト「sampleValue」の「test」を取得
console.log(sampleValue.test);
console.log(sampleValue['test']);
このように使います。
この「オブジェクト」の基本に関しては、以下の記事の一部を参考にしてください。
ポイント(配列の末尾要素の削除)
配列の末尾要素の削除は、
「pop」
という標準関数を使ってみましょう。
let test = sampleList.pop();
このように使います。
この「shift」という標準関数の使い方に関しては、以下の記事の一部を参考にしてください。
答え
// 3つの文字列を配列に入れる
let sampleList = ['りんご','みかん','メロン','バナナ'];
// 削除した値を入れるための配列
let deleteList = [];
// コンソールに値を表示
console.log('------------------------');
console.log('最初に配列の値を表示します。');
console.log('------------------------');
for(let idx=0;idx<sampleList.length;idx++) {
console.log(sampleList[idx]);
}
console.log('------------------------');
console.log('配列の値を消します。');
console.log('------------------------');
while(sampleList.length > 0) {
// コンソールに表示
console.log('配列の値を1つ消します。');
// 配列の先頭を1つ削除して値を取得
let deleteValue = sampleList.pop();
// コンソールに表示
console.log(deleteValue + 'を消しました。');
// 削除した値を配列に追加
deleteList.push(deleteValue);
//
console.log('配列の残りの要素数は' + sampleList.length + 'です。');
}
console.log('------------------------');
console.log('消した値を順番に表示します。');
console.log('------------------------');
for(let idx=0;idx<deleteList.length;idx++) {
console.log(deleteList[idx]);
}