[英]Spiral Matrix Of Numbers with JavaScript... problems with the result
[英]Matrix of numbers javascript
我需要幫助JS中的函數,它按照給定的整數N打印矩陣,如下所示:
N = 2;
Matrix: 1 2
2 3
N = 3;
Matrix: 1 2 3
2 3 4
3 4 5
我需要使用2個循環,但我無法弄清楚如何
function solve(args) {
var n = args[0];
}
PS:很抱歉將矩陣插入JS代碼,但這樣我可以看到結果。
這是邏輯
function paintMatrix(n) { for (var i = 1; i <= n; i++) { var result = ""; for (var j = 1; j <= n; j++) { result += (i + j - 1); } console.log(result); } } paintMatrix(3);
請考慮使用ES6 Array.fill
, Array.map
和Array.join
函數的以下簡短解決方案:
function printMatrix(size){
if (size <= 1) console.log(size); // if 0/1 was passed in - outputs it as is
var len = size, count = Array(size).fill(null), matrix = "";
while (len--) matrix = count.map((v, k) => len + 1 + k).join(" ") +"\n" + matrix;
console.log(matrix);
}
console.log("3 dimensional matrix:");
printMatrix(3);
console.log("5 dimensional matrix:");
printMatrix(5);
輸出:
3 dimensional matrix:
1 2 3
2 3 4
3 4 5
5 dimensional matrix:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
function doMatrix(n){
var i=0;
var ret = "";
for(var x=1+i; x<=n; x++){
for(var l=x; l<n+x; l++)
ret += l;
ret += "\n";
}
return ret;
}
function martix(number) {
for (var y = 1; y<=number; y++) {
for (var x = y; x<number + y; x++) {
var n = x;
print(n + '&nspb;');
}
print('<br />');
}
}
其中“print”是將給定輸入寫入“某處”的函數
你可以嘗試這樣的事情:
function createMatrix(len){ var result = []; for (var i=0; i<len; i++){ result.push(new Array(len).fill(i).map(function(item, index){ return item + index})); } return result; } console.log(createMatrix(3))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.