如何使用 Array.join()
有条件的函数
例如:
var name = ['','aa','','','bb'];
var s = name.join(', ');
输出为:
', aa, , ,'bb',
我想添加一个只显示非空单词的条件:
"aa, bb"
最佳答案
您可以使用 Array#filter
从数组中删除空元素,然后使用 Array#join
在过滤数组上。
arr.filter(Boolean).join(', ');
这里,回调函数到
filter
是 bool 构造函数。这与// 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(', ');
关于javascript - Array.join() 有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486800/