我有一個節點的鄰居陣列,我試圖根據節點屬性 isVisited 過濾該節點。目前它回傳相同的陣列,我希望它只回傳一個 !isVisited 的陣列。
export function getUnvisitedNeighbors(grid, node) {
const { row, col } = node;
const neighbors = [];
if (row < grid.length - 1) neighbors.push(grid[row 1][col]);
if (col < grid[0].length - 1) neighbors.push(grid[row][col 1]);
if (row > 0) neighbors.push(grid[row - 1][col]);
if (col > 0) neighbors.push(grid[row][col - 1]);
console.log("before");
console.log(neighbors);
neighbors.filter(neighbor => !neighbor.isVisited); //returning same array
console.log("after")
console.log(neighbors);
return neighbors;
}
控制臺日志:

我如何創建節點:
function createNode(row, col) {
return {
isVisited: false,
row: row,
col: col,
startnode: row === START_NODE_ROW && col === START_NODE_COL,
endnode: row === END_NODE_ROW && col === END_NODE_COL,
distance: Infinity,
isWall: false,
previousNode: null
}
}
uj5u.com熱心網友回復:
所述過濾器()方法創建與通過由提供的功能實作的測驗中所有元素的陣列。
將結果分配給您的變數
neighbors = neighbors.filter(neighbor => !neighbor.isVisited);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/351228.html
標籤:javascript 数组
上一篇:更新DjangoRestFramework中兩個嵌套序列化程式的創建方法
下一篇:添加到陣列中的額外元素
