亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Array 方法 foreach() 或 map() 將數獨板打印到控制臺上?

如何使用 Array 方法 foreach() 或 map() 將數獨板打印到控制臺上?

慕標5832272 2023-03-10 15:46:09
我正在嘗試使用 .foreach() 為數獨創建一個打印函數。輸入是例如    var Sudoku =[[0,0,0,2,6,0,7,0,1], [6,8,0,0,7,0,0,9,0],[1,9,0,0,0,4,5,0,0],[8,2,0,1,0,0,0,4,0],[0,0,4,6,0,2,9,0,0],[0,5,0,0,0,3,0,2,8],[0,0,9,3,0,0,0,7,4],[0,4,0,0,5,0,0,3,6],[7,0,3,0,1,8,0,0,0]];并且預期的輸出應該是0 0 0 2 6 0 7 0 16 8 0 0 7 0 0 9 01 9 0 0 0 4 5 0 08 2 0 1 0 0 0 4 00 0 4 6 0 2 9 0 00 5 0 0 0 3 0 2 80 0 9 3 0 0 0 7 40 4 0 0 5 0 0 3 67 0 3 0 1 8 0 0 0通常我們使用 for 循環,但是我們如何使用 foreach() 或任何其他數組方法來獲得相同的結果呢?我嘗試了以下代碼function print(array) { let count = 0    array.forEach(nested => nested.forEach(Element => {        let out = "";        out += Element + " ";        console.log(out);    }));}但是輸出一個一個地顯示每個元素,例如1 0 0 4 8 9 0 很快..
查看完整描述

3 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

我正在嘗試使用 .foreach() 為數獨創建一個打印函數。輸入是例如


    var Sudoku =[[0,0,0,2,6,0,7,0,1], [6,8,0,0,7,0,0,9,0],[1,9,0,0,0,4,5,0,0],[8,2,0,1,0,0,0,4,0],[0,0,4,6,0,2,9,0,0],[0,5,0,0,0,3,0,2,8],

[0,0,9,3,0,0,0,7,4],[0,4,0,0,5,0,0,3,6],[7,0,3,0,1,8,0,0,0]];

并且預期的輸出應該是


0 0 0 2 6 0 7 0 1

6 8 0 0 7 0 0 9 0

1 9 0 0 0 4 5 0 0

8 2 0 1 0 0 0 4 0

0 0 4 6 0 2 9 0 0

0 5 0 0 0 3 0 2 8

0 0 9 3 0 0 0 7 4

0 4 0 0 5 0 0 3 6

7 0 3 0 1 8 0 0 0

通常我們使用 for 循環,但是我們如何使用 foreach() 或任何其他數組方法來獲得相同的結果呢?我嘗試了以下代碼


function print(array) {

 let count = 0

    array.forEach(nested => nested.forEach(Element => {

        let out = "";

        out += Element + " ";

        console.log(out);

    }));

}

但是輸出一個一個地顯示每個元素,例如


很快..


查看完整回答
反對 回復 2023-03-10
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

您可以console.log使用方法嘗試每一行toString(并將逗號替換為空格):


var Sudoku =[

   [0,0,0,2,6,0,7,0,1],

   [6,8,0,0,7,0,0,9,0],

   [1,9,0,0,0,4,5,0,0],

   [8,2,0,1,0,0,0,4,0],

   [0,0,4,6,0,2,9,0,0],

   [0,5,0,0,0,3,0,2,8],

   [0,0,9,3,0,0,0,7,4],

   [0,4,0,0,5,0,0,3,6],

   [7,0,3,0,1,8,0,0,0]

];


Sudoku.forEach(row => console.log(row.toString().replace(/,/g," ")))


查看完整回答
反對 回復 2023-03-10
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

這取決于你對它的外觀有多挑剔。最短的解決方案是


console.table(Sudoku);

但這給了你一張帶標題的表格,所以可能并不完美。


如果你可以使用reduce那么我建議:


sudokutxt = Sudoku.reduce((acc, arr) => {acc.push(arr.join(' ')); return acc;}, []).join('\n');

我的forEach解決方案是:


let sudokutxt = '';

Sudoku.forEach(arr => sudokutxt += arr.join(' ') + '\n')


查看完整回答
反對 回復 2023-03-10
  • 3 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號