join()方法将数组元素连接为字符串,分隔符可自定义,默认为逗号;null、undefined转为空字符串;空数组返回空字符串;与tostring()不同,join支持自定义分隔符且不丢失嵌套结构。

join() 方法用于把数组中的所有元素连接成一个字符串,中间用指定的分隔符隔开。
基本用法:传入分隔符字符串
调用 arr.join(separator),其中 separator 是可选参数,默认为逗号(",")。如果传入空字符串 "",元素会直接拼接;传入空格 " " 或破折号 "-" 等,就按对应字符连接。
-
['a', 'b', 'c'].join('-')→ "a-b-c" -
[1, 2, 3].join('')→ "123"(数字会被自动转为字符串) -
['hello', 'world'].join(' ')→ "hello world"
注意 null、undefined 和空元素的处理
数组中若含 null 或 undefined,它们会被转为空字符串参与连接;空数组调用 join() 返回空字符串。
-
[null, 'b', undefined].join('|')→ "|b|" -
[, ,].join('x')(稀疏数组)→ "xx"(两个空位产生两个分隔符) -
[].join('-')→ ""
和 toString() 的区别
join() 可自定义分隔符,toString() 固定用逗号,且对嵌套数组会调用内部 toString()(可能造成意外格式)。
-
[[1,2], [3]].join('-')→ "1,2-3" -
[[1,2], [3]].toString()→ "1,2,3"(丢失结构信息)
常见误用提醒
join 只作用于数组,不能直接用于类数组对象(如 arguments 或 NodeList),需先转为数组。
- 错误:
document.querySelectorAll('div').join(',')(报错) - 正确:
Array.from(document.querySelectorAll('div')).map(el => el.id).join(',') - 或简写:
[...document.querySelectorAll('div')].map(el => el.id).join(',')
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











