2016-08-18 3 views
0

저는 자바 스크립트에 익숙하며 숙련 된 시험을 위해이 테스트를 수행해야합니다. 아직까지는 도움이되지 않았습니다. 다차원 배열의 각 숫자를 두 배로하여 웹 페이지에 출력하십시오. 미안하지만 일부 사람들에게는 그렇게 생각됩니다. 비교적 새로운 것이므로 너무 많이 알지 못합니다.다차원 배열의 각 요소를 두 배로하는 자바 스크립트 방법

 // Define a 2 dimensional (3 x 3) array 
     var array = [ 
      [1, 2, 3], 
      [4, 5, 6], 
      [7, 8, 9] 
     ]; 


     // TO DO: Double each number in the 2 dimensional array 

이것은 내가 옳은 길을 가고 있는지 확실하지 않습니다.

 for (var i = 0; i < array[0].length + array.length; i++){ 
      for (var j = 0; j <array[0].length +array.length; j++){ 
      array[i] = array[i] * 2; 
       document.write(array[i][j]) 
       } 
      } 




     // Output results 
     document.write(array.toString(array)); 

     // Say how big the array is 
     document.write("<p>Table is " + array[0].length + " columns by " + array.length + " rows</p>"); 

     // Start the table 
     document.write("<table>"); 

     // Output the rows 
     document.write("<tr><td>" + array[0][0] + "</td><td>" + array[0][1] + "</td><td>" + array[0][2] + "</td></tr>"); 
     document.write("<tr><td>" + array[1][0] + "</td><td>" + array[1][1] + "</td><td>" + array[1][2] + "</td></tr>"); 
     document.write("<tr><td>" + array[2][0] + "</td><td>" + array[2][1] + "</td><td>" + array[2][2] + "</td></tr>"); 

     // End the table 
     document.write("</table>"); 

     // Optionally... make the above "output the rows" code work with 
     // any sized array 

    </script> 
</body> 

+0

에 오신 것을 환영합니다 스택 오버플로합니다. 질문을 향상시킬 수 있습니다. [Minimal, Complete, Verifiable example] (http://stackoverflow.com/help/mcve)을 읽어보십시오. 코드가 추가로 아무 것도없는 정확한 문제를 보여줄 때 자원 봉사자를 존중합니다. – zhon

답변

1

당신은 오히려 루프보다 .map()를 사용하여 작업을 수행 할 수 있습니다, 그것은 조금 청소기합니다. ES6 구문

arr = arr.map(sub_arr => sub_arr.map(elem => elem*2)); 

console.log(arr); 
를 사용

var arr = [ 
    [1, 2, 3], 
    [4, 5, 6], 
    [7, 8, 9] 
]; 

arr = arr.map(function (sub_arr) { 
    return sub_arr.map(function (elem) { 
     return elem*2; 
    }); 
}); 

console.log(arr); 

또는 선택적으로

출력을 생성하기위한 귀하의 논리는 최고 아니지만, 내가 출력을 오히려 생성하는 루프를 사용하는 것이 있지만 그것은 잘 작동합니다 [0] [0], [0] [1], [0] [2] 등 정적 코딩보다 ...

1

다음과 같이 할 수 있습니다.

var arrays = [ 
 
    [1, 2, 3], 
 
    [4, 5, 6], 
 
    [7, 8, 9] 
 
]; 
 
for (var array of arrays) 
 
    for (var item of array) logout.textContent += +item * 2 + ",";
<pre id="logout"></pre>

0

이 같은 대해 forEach와도 루프 수 :

arr.forEach(item => item.forEach((elem, index, array) => {array[index] = 2 * elem})); 
관련 문제