簡體   English   中英

比較兩個數組時 JSON.stringify 不起作用

[英]JSON.stringify not working when comparing two arrays

我正在嘗試比較兩個數組並檢查它們是否相同。 根據下面的邏輯,該函數應該返回 DRAW,因為我正在比較的數組完全相同。 相反,它返回 undefined 。 我不明白為什么它不返回平局。 如果我將 && 更改為 || 它返回 draw 所以我認為邏輯運算符有問題。

 function isSolved(board) { // TODO: Check if the board is solved! var arraya = [1,1,1]; var arrayb = [2,2,2]; for (var i = 0; i < board.length; i++){ for (var j = 0; j < board[i].length; j++) { if (board[i][j] === 0) { return false; } else if ( (JSON.stringify(board[i]) === JSON.stringify(arraya)) && (JSON.stringify(board[i]) ===JSON.stringify(arrayb))) { return "draw" } } } } console.log( isSolved([ [1,1,1], [1,2,2], [2,2,2] ]) );

您可以像這樣使用JSON.stringify

 var arraya = [1,1,1]; var arrayb = [2,2,2]; function isSolved(a, b) { return JSON.stringify(a) === JSON.stringify(b) ? "draw" : false; }; var input = [[1,1,1], [1,2,2], [2,2,2]]; for (var item of input) { console.log(isSolved(item, arraya)); console.log(isSolved(item, arrayb)); console.log("====="); }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM