带有条件的 Array.join()



如何在Array.join()函数中使用

条件

例如:

var name = ['','aa','','','bb'];
var s = name.join(', ');

输出为:', aa, , ,'bb',

我想添加一个条件,该条件将仅显示非空单词:"aa, bb"

您可以使用

Array#filter从数组中删除空元素,然后在过滤的数组上使用Array#join

arr.filter(Boolean).join(', ');

在这里,filter的回调函数是布尔构造函数。这与

// ES5 equivalent
arr.filter(function(el) {
    return Boolean(el);
}).join(', ');

由于空字符串在 JavaScript 中是伪造的,Boolean('') 将返回false并且该元素将从数组中跳过。过滤的非空字符串数组由胶水连接。

var arr = ['', 'aa', '', '', 'bb'];
var s = arr.filter(Boolean).join(', ');
console.log(s);

还可以使用 String#trim 从字符串中删除前导空格和尾随空格。

arr.filter(x => x.trim()).join(', ');

最新更新