首页 > 解决方案 > 如何用逗号数字元素分隔并在javascript中删除空字符串

问题描述

以下是您可以用逗号分隔每个元素并删除空元素的示例之一

var p = ",32111_10589,32111_10591,32111_10593,32111_10613,32111_10590,32111_10592,32111_10594,32111_10614,32111_10595,32111_10593_5673,32111_10593_5674,32111_10590_5651,32111_10592_5669,32111_10594_5671,32111_10614_5687,32111_10590_5652,32111_10592_5670,32111_10594_5672,32111_10614_5688,32111_10595_5675,32111_10595_5676,";

  // remove first and last element from array and seprated elements by comma.
  var ar = p.slice(1,-1).split(',');

标签: javascriptsplitslice

解决方案


首先,您可以使用和使用过滤器拆分以过滤掉空字符串,

你可能想知道究竟是什么.filter(s => s)。它过滤掉空字符串,因为""它被认为是falsy值。

如果s是,empty string则将其过滤掉,否则包含在最终结果中。

var p =
  ",32111_10589,32111_10591,32111_10593,32111_10613,32111_10590,32111_10592,32111_10594,32111_10614,32111_10595,32111_10593_5673,32111_10593_5674,32111_10590_5651,32111_10592_5669,32111_10594_5671,32111_10614_5687,32111_10590_5652,32111_10592_5670,32111_10594_5672,32111_10614_5688,32111_10595_5675,32111_10595_5676,";

var arr = p.split(",").filter(s => s);
console.log(arr);

但是有一种情况无法涵盖,如果两者之间有空白,,那么您可以使用trim

var p = " ,32111, ";

var arr = p.split(",").filter(s => s.trim());
console.log(arr);


推荐阅读