js实现join
实现数组的 join 方法
JavaScript 的 Array.prototype.join 方法可以将数组的所有元素连接成一个字符串。以下是几种实现方式:
原生方法
const arr = ['a', 'b', 'c'];
const str = arr.join(','); // "a,b,c"
手动实现
function join(array, separator = ',') {
let result = '';
for (let i = 0; i < array.length; i++) {
result += array[i];
if (i !== array.length - 1) {
result += separator;
}
}
return result;
}
使用 reduce 实现
function join(array, separator = ',') {
return array.reduce((acc, curr, index) => {
return acc + (index ? separator : '') + curr;
}, '');
}
处理空元素
function join(array, separator = ',') {
return array.filter(Boolean).join(separator);
}
实现字符串的 join 方法
JavaScript 没有内置的字符串 join 方法,但可以通过以下方式实现:
数组转换法
function joinStrings(str, separator) {
return str.split('').join(separator);
}
正则表达式法
function joinStrings(str, separator) {
return str.replace(/(.)(?!$)/g, `$1${separator}`);
}
性能考虑
原生 join 方法通常是最快的实现方式。手动实现的版本在大型数组上可能性能较差,因为字符串连接会创建多个临时字符串。
对于特殊需求,如跳过空值或处理非字符串元素,可以扩展基本实现:
function safeJoin(array, separator = ',') {
return array
.map(item => String(item ?? ''))
.join(separator);
}






