如何显示数组数组?

时间:2014-01-20 23:42:20

标签: javascript

我只是想在textarea中返回我的tile map(数组的数组),我的意思是在位置 [0] [1]例如,它为一个值绘制#,为0填充空填充。

<script language="javascript">
var wall = "#";
var empty = "";
var mapa = [
    [1, 1, 1, 1, 1],
    [1, 0, 0, 0, 1],
    [1, 0, 0, 0, 1],
    [1, 1, 1, 1, 1]
];

function map() {
    for (i = 0; i < mapa.length; i++) {
        for (j = 0; j < mapa[i].length; j++) {
            mapa[i][j];
        }
    }
}

function display(form) {
    var myform = form;
    myform.caja.value = map();
}
</script>
<body>
<form name=form>
<textarea name=caja cols=5 rows=5></textarea><br>
<input type=button value="click!" onclick="display(this.form)">
</form>

2 个答案:

答案 0 :(得分:1)

试试这个:

function map(){
    var ret='';
    for(i=0;i<mapa.length;i++){
        for(j=0;j<mapa[i].length;j++){
            if(mapa[i][j]===0){
                ret +='#';
            }else{
                ret +=' ';
            }
        }
        ret +='\n';
    }
    return ret;
}

答案 1 :(得分:0)

我会去

function print2dim(arr, charmap) {
    return arr.map(function(row) {
        return row.map(function(el) { return charmap[el]; }).join('');
    }).join("\n");
}

function display(form) {
    form.caja.value = print2dim(mapa, [" ", "#"]); // or {"0":" ","1":"#"}
}

demo at jsfiddle.net