当前位置:  开发笔记 > 编程语言 > 正文

Javascript中的2D数组

如何解决《Javascript中的2D数组》经验,为你挑选了1个好方法。

对于大学来说,我们在2D阵列方面有一个问题需要解决,但是它们的性质从未在课堂上得到覆盖.我已经搜索了这个网站的答案(这可能在我的代码中很明显),但无法让它工作,甚至无法真正理解发生了什么或为什么.确切的问题是:

Write a program that utilises a 8x8 2-dimensional array.  
(a) Initialise the array elements via nested for loops as follows

1  2  3  4  5  6  7  8
9  10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
...
...
57 58 59 60 61 62 63 64

(b) Add some code that will display all array elements in an 8x8 HTML table.

(c) Use nested for loops for calculating the sum and the average of the
    values stored in the array.
    Let a function display these values on screen eg use alert().   

我到目前为止的代码是:

x = matrix( 8 , 8, 0 ); // 8 lines, 8 cols filled with empty string

function matrix( rows, cols, defaultValue){

   var arr = [];

     // Creates all lines:
     for(var i=0; i < rows; i++){

     var add = 1 

    // Creates an empty line
     arr.push([]);

      // Adds cols to the empty line:
     arr[i].push( new Array(cols));

        for(var j=0; j < cols; j++){
        // Initializes:
            arr[i][j] = defaultValue + add;
         }
  var add = add + 1
 }
    return arr;
}

function displayInDiv() {
  var output_string_ = "" ;
  var lastElement = 64 ;


output_string_ = output_string_
                +''
                +''
                +''
                +''
                +''
                +''
                +''
                +''
                +''
                +''
                +''
                +''
                ;

for ( var i = 1 ; i < 9 ; i++ ) { 

    for ( var j = 0 ; j < 7 ; j++ ) {

    output_string_ = output_string_
                    +''
                    +''
                    +''
                    +''
                    +''
                    +''
                    +''
                    +''
                    +''
                    +''
                    +''
                    ;
}

    output_string_ = output_string_
                +'
ARRAY INDEX array_1 array_2 array_3 array_4 array_5 array_6 array_7 array_8
' +'[' + i +']' +'' + Array[i][j] +'' + Array[i][j] +'' + Array[i][j] +'' + Array[i][j] +'' + Array[i][j] +'' + Array[i][j] +'' + Array[i][j] +'' + Array[i][j] +'
' ; var output_section_ = document.getElementById("list_"); output_section_.innerHTML = output_string_ ; } }

抱歉,巨大的文本转储,但我完全难倒.任何帮助将不胜感激.



1> DanielM..:

我相信你正在寻找的确切代码就是这个

var outer = new Array();

for(var i = 0; i < 8; i++) {
  var inner = new Array
  for(var j = 0; j < 8; j++) {
    inner[j] = (i * 8) + j + 1;
  }
  outer[i] = inner;
}

console.log(outer);

2D数组只是一个数组数组,在这里我将它们标记为内部和外部.

有8个长度为8的内部数组,总共有64个条目.每个条目的值是8*外部索引(从0开始),加上内部索引加1(因为它也从0开始).

这应该为您提供足够的信息来回答部分b和您c自己,但如果您想要进一步的帮助,请随时在下面发表评论.:)


太棒了!我有足够的信息来解决我出错的地方,并且仍然留给我这么做,我不能说它至少不是我自己的一些工作.对不起,我没有早点回复,互联网在发布此问题后在大学时间内死亡,但设法在家完成.再次感谢.= d
推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有