从javascript中的多维数组中删除列

新手上路,请多包涵

我有一个二维数组:

 var array = [["a", "b", "c"],["a", "b", "c"],["a", "b", "c"]]

我想删除这个数组的整个列(即删除每个数组中的每三个元素)。

这里这里 都有解决方案,但它们都不在 javascript 中,所以我在关联这些情况时遇到了麻烦。

解决这个问题的最佳方法是什么?我不想使用 .splice() 因为在某些情况下我会删除多列,而 .splice() 方法会改变数组的长度,所以我最终访问越界。

谢谢!

原文由 user3757174 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 850
2 个回答

尝试使用 slice 。它不会改变你原来的任何变化 array

 var array = [["a", "b", "c"],["a", "b", "c"],["a", "b", "c"]]

var x = array.map(function(val) {
  return val.slice(0, -1);
});

console.log(x); // [[a,b],[a,b],[a,b]]

原文由 Rahil Wazir 发布,翻译遵循 CC BY-SA 4.0 许可协议

此函数不使用拼接,它会删除您想要的任何列:

 function removeEl(array, remIdx) {
 return array.map(function(arr) {
         return arr.filter(function(el,idx){return idx !== remIdx});
        });
};

希望这就是您要找的

原文由 sergeyz 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题