【GAS】「for문」 여러가지②forEach~3개의 인수~

계속



「for문」 여러가지①for, for...of, for...in 계속

개요



forEach 문장의 것도 있고, for...of적인 사용법이나, for...in적인 사용법도 할 수 버린다. 물론 forEach적인 사용법도 있다.

우선 기본


配列.forEach( function(e) { 何かしらスクリプト } );배열의 요소를 인수에 함수가 쓸 수 버린다! 뭔가 편리해?

for...of적인 사용법


function MarudeForOf() { 

  var array = [1, 2, 3, 4, 5]; 

  array.forEach( function(i) { 
    Logger.log(i); 
  }); 

  array.forEach( function(i) { 
    i = i * 5; 
    Logger.log(i); 
  }); 

}

배열 요소가 순서대로 function(i) 인수에.

의 for_of와 정확히 동일한 결과. forEach라는 뜻?

for...in적인 사용법


function MarudeForIn() { 

  var obj = [{name:'first',  num:1}, 
             {name:'second', num:2}, 
             {name:'third',  num:3}, 
             {name:'forth',  num:4}, 
             {name:'fifth',  num:5}] 

  obj.forEach( function(i) { 
    Logger.log(i.name, '', i.num, 'です'); 
  }); 

  obj.forEach( function(i) { 
    i = i.num * 5; 
    Logger.log(i); 
  }); 

}
引数.キー名称 로 값을 얻는다.

두 번째 반복에서는 num의 값에 5 배가 있습니다.

forEach적인 사용법



어쨌든 forEach에는 인수가 3개 있는 것 같아서 확인해 보았다.
function TestForEach() { 

  var array = [1, 2, 3, 4, 5]; 

  array.forEach( function(i, j, k) { 

    Logger.log("配列", k, "の", j, "番目の要素は", i);

  }); 

}
配列「引数3」の「引数2」番目の要素は「引数1」 로 로그를 낸 곳.

첫 번째 인수는 배열의 요소이고 두 번째는 인덱스이고 세 번째는 배열 자체입니다.

이 구조를 사용하여 어떻게든 forEach적인 것이 아닐까하고 사용법을 시도한 것이 이쪽.
function KorezoForEach() { 

  var obj = ['家康','秀忠','家光','家綱','綱吉'] 

  obj.forEach( function(name,generation,family) { 

    family[generation] = generation + 1 + '代目 徳川' + name; 

  }); 

  Logger.log(obj); 

}


도쿠가와 패밀리의 이름이 들어간 배열의 모든 요소에 「0대째 도쿠가와」를 추가할 수 있었다.

지금은 이런데, 기억해두면 언젠가 사용할 수도 있을까(웃음)

오시마

좋은 웹페이지 즐겨찾기