javascript - Array.join() 有条件

标签 javascript arrays

如何使用 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/

相关文章:

javascript - 使用基于以下数组的多重更新语句

javascript - 重定位一个 div

javascript - 如何将 'lock' 滚动到 div?

javascript - 根据背景颜色更改汉堡菜单的颜色

java - 将 PDF 与 iText 合并会导致关闭时出现 "Do you want to save changes...?"对话框

c - 用 C 语言对数组进行冒泡排序

javascript - 如何比较 JavaScript 时间戳和数字?

javascript - 如何让 draft.js 识别转义键?

arrays - 如何识别二叉搜索树的叶节点

java - 尝试在Java中使用xlsx读取并返回字符串数组