📜  如何在javascript中计算没有空格的数组长度(1)

📅  最后修改于: 2023-12-03 15:38:33.679000             🧑  作者: Mango

如何在javascript中计算没有空格的数组长度

在javascript中,通过 length 属性可以获取数组的长度。但是,如果数组中存在空格,那么计算出来的长度就会包含空格的数量,这不是我们希望得到的结果。接下来,将介绍两种方法来计算没有空格的数组长度。

方法一:使用 filter() 方法过滤空格

我们可以使用 filter() 方法来过滤数组中的空格,然后计算过滤后的数组长度。代码如下:

let arr = ["Hello", "world", "", " ", "javascript"];
let len = arr.filter(item => item.trim() !== "").length;
console.log(len); // 输出为 4

在上面的代码中,通过 filter() 方法过滤掉了数组中的空格和空字符串,然后再计算数组的长度。

方法二:使用正则表达式过滤空格

我们也可以使用正则表达式来过滤掉数组中的空格,具体方法是先将数组转换为字符串,然后使用正则表达式进行匹配和替换,最后计算过滤后的字符串长度再除以空格的长度。代码如下:

let arr = ["Hello", "world", "", " ", "javascript"];
let str = arr.join("").replace(/\s/g, "");
let len = str.length / /\s/.test(str) ? str.match(/\s/g).length : 1;
console.log(len); // 输出为 4

在上面的代码中,首先将数组转换为字符串,并通过 replace() 方法使用正则表达式将空格替换为空字符串。然后通过三目运算符计算数组中空格的数量,最后将字符串长度除以空格数量得到过滤后的数组长度。需要注意的是,当数组中没有空格时,用三元运算符判断空格数量会返回 false,此时 1 代表数组中至少存在一个元素。

综上所述,我们可以通过以上两种方法来计算没有空格的数组长度,根据实际情况选择合适的方法即可。