我该如何使用Array.join()
有条件的函数
例如:
var name = ['','aa','','','bb'];
var s = name.join(', ');
输出是:', aa, , ,'bb',
我想添加一个条件,仅显示不为空的单词:"aa, bb"
您可以使用Array#filter https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter从数组中删除空元素,然后使用Array#join https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim从字符串中删除前导和尾随空格。
arr.filter(x => x.trim()).join(', ');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)