0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GAS練習 配列

Posted at

問題文
配列 numbers を作成し、その要素を 1, 2, 3, 4, 5 とします。この配列の要素をすべて2倍にして、新しい配列 doubledNumbers に格納してください。

考える順番
・配列numbersを作成
・numbersの要素に×2
・空の配列doubledNumbersにnumbers×2を格納

誤)考えたコード

function myFunction() {
  
  let doubledNumbers = [];

  let numbers = [1,2,3,4,5];
  doubledNumbers.push([numbers]*2)

  console.log(numbers)
}

間違い
doubledNumbers.push([numbers]*2)
→配列[numbers]に対して×2
→[numbers]が2つ作られる(出力ログ[1,2,3,4,5],[1,2,3,4,5])
■解決策
配列[numbers]から要素を取り出して2倍する必要がある

正)

function myFunction() {

 let doubledNumbers=[];

  const numbers = [1,2,3,4,5]
  for(let i=0; i<numbers.length; i++){
    doubledNumbers.push(numbers[i]*2)
  }
console.log(doubledNumbers);
}

【まず i とは】
インデックスの略
配列内の要素を取得する

for文 読み方
どこまで繰り返すか:
[i]~numbers.length(0番目の要素から配列numbersに入っている要素の長さまで

増減は:
i++(i=i+i)でiを1づつ増やす

{処理}
繰り返し対象の処理

1回目
numbers[i](0番目の配列なので、ここでは要素[1])
→配列numberの箱に入っている[i]に×2
→配列doubledNumbersに結果を格納

for文により2回目以降は要素iに1づつ足される

i++([i]は0+1=1)となり、[i]=1
doubledNumbers.push(numbers[i]*2)
配列numbersの要素1番目(ここでは要素[2])に×2がされる
→結果が配列doubledNumbers[]に格納

上記の計算をnumbers.lengthまで繰り返され
numbersの要素ごとに×2した結果が
配列doubledNumbers[]に格納

出力ログは[ 2, 4, 6, 8, 10 ]

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?