如何_.filter嵌套数组返回特定​​数组

时间:2015-11-21 21:11:48

标签: multidimensional-array underscore.js

我试图在纯Javascript中_.filter嵌套数组。我知道我可以压平我的数组数组以使这更容易但是练习的目的是看看下划线js函数是如何工作的。我无法让数组数组只包含拥有我的游戏的对象。当我运行我的代码时,我得到以下结果:

Array[8], Array[8], Array[8], Array[8]]

它应该只返回每个数组中的4个项目。这是我的代码。

var results = _.filter(gameBoard, function(row, index) {
   if (row[index].gamePiece !== "") {
      return row[index];
    }
})
console.log(results);

1 个答案:

答案 0 :(得分:0)

我认为您在寻找的是顶级数组上的_.map以及每个子数组上的_.filter

var results = _.map(gameBoard, function(row) {
  return _.filter(row, function(cell) {
    return cell.gamePiece !== '';
  });
});

这将返回一个列表列表,其中每个列表都删除了所有空游戏部分。