join方法是javascript中将数组拼接为字符串最直接高效的方式,不修改原数组,返回新字符串;支持自定义分隔符,默认用逗号;自动将null/undefined转为空字符串,与tostring()在分隔符控制和嵌套处理上存在关键差异。

join 方法是 JavaScript 中将数组元素拼接成字符串最直接、高效的方式。它不会修改原数组,而是返回一个新的字符串。
基本用法:指定分隔符
调用 join() 时传入一个字符串作为分隔符,数组的每个元素会被该分隔符连接起来:
- 不传参数或传空字符串
'',元素会紧挨着拼接(无间隔) - 传
','得到逗号分隔的字符串,常用于生成 CSV 片段 - 传
' '(空格)或'\n'(换行)可生成可读性更好的文本
例如:['a', 'b', 'c'].join('-') 返回 "a-b-c";[1, 2, 3].join('') 返回 "123"。
注意 null 和 undefined 的处理
join 会自动将数组中的 null 和 undefined 转为空字符串 '',不会报错:
-
[1, null, 2, undefined, 3].join('|')→"1||2||3" - 若需保留字面量如
"null"或"undefined",应先用map显式转换
与 toString() 的区别
arr.toString() 表面效果类似 arr.join(','),但有关键差异:
- toString() 总是使用英文逗号,无法自定义分隔符
- 多维数组中,toString() 会扁平化所有嵌套(递归调用),而 join() 只处理第一层,深层数组会转为逗号拼接的字符串
- 例如:
[[1,2], [3,4]].join('-')→"1,2-3,4";而[[1,2], [3,4]].toString()→"1,2,3,4"
实际小技巧
结合其他方法能解决常见需求:
- 去除空值再拼接:
arr.filter(Boolean).join('、') - 格式化数字列表:
[1.5, 2.7, 3].map(n => n.toFixed(1)).join(' / ')→"1.5 / 2.7 / 3.0" - 生成 HTML 列表项:
items.map(item => `<li>${item}</li>`).join('')
不复杂但容易忽略细节。











