2017-11-22 7 views
0

2Dマトリックスへのcols /行を追加します。Javascriptを:私はこのような配列(2Dマトリックス)は

var matrix = [ 
     '0000', 
     '1100',  
     '1100' 
    ] 

を...そして、私は特定の位置にrowsとcolsを追加したいと思います。 下記の例を参照してください。インデックス(x)にカラムを追加する0 & インデックス(y)にを追加してください。

var matrix = [     var result = [ 
    '0000',       '00000', 
    '1100',   add col -->  '01100', 
    '1100'       '01100' 
]         ] 

と...

var matrix = [     var result = [ 
    '0000',       '0000', 
    '1100',       '0000', 
    '1100'   add row -->  '1100', 
            '1100' 
]         ] 

代わりに、forループの愚かを使用してのこの結果を得るためにいくつかのより良い/エレガントな方法はありますか? (以下COL例)

var matrix = [ 
 
    '0000', 
 
    '1100', 
 
    '1100', 
 
] 
 

 

 
function add_col(matrix, x) { 
 
    for (var i=0; i<matrix.length; i++) { 
 
     matrix[i] = matrix[i].slice(0, x) + "0" + matrix[i].slice(x); 
 
    } 
 
    return matrix.join('\n') 
 
} 
 
console.log(add_col(matrix, 0))

+0

有する可能IMO愚か 'for'ループは、オプションの中で最もパフォーマンスになるだろうことができます。だからエレガントな方法は、単に関数でそれをラップすることです。 – Nisarg

+0

'Array#map'や' Array#forEach'を使うことができます。 – Barmar

+2

プログラミングスタイルの改善に関する質問は、CodeReview.stackexchange.comに関するより多くのトピックのため、議論の対象外としています。 – Barmar

答えて

-2

はいマップ関数

var matrix = [ 
    '0000', 
    '1100', 
    '1100', 
] 

result=matrix.map(function(x) { return "0"+x}); 
+0

ここで結果として第1行として「0」が追加されます – Gamsh

関連する問題