You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用箭头函数将数字数组[1,2,3]转为字符串数组['123']?

实现将数字数组转为单元素拼接字符串数组的箭头函数

需求:实现箭头函数functionOne,把输入的数字数组[1, 2, 3]转换为仅包含拼接后字符串的数组['123'],且不能使用正则表达式。

用户尝试的代码:

const functionOne = (arrayOne) => {

  let stepOne = arrayOne.toString(arrayOne => arrayOne.toString());

  console.log(stepOne);

  stepOne = stepOne.split(',').join('');

  console.log(stepOne);

  return stepOne.split('');
};

console.log(functionOne([1, 2, 3]));

问题分析

你的代码前两步逻辑是正确的:将数组转为带逗号的字符串,再去除逗号得到"123"。但最后一步调用split('')会把字符串拆成单个字符的数组(即['1','2','3']),这和目标结果['123']不符——你只需要把拼接好的整个字符串放进数组里返回即可,不需要拆分操作。

另外补充一个小问题:arrayOne.toString()不需要传入回调函数,数组的toString()方法本身就会将元素转为字符串并用逗号分隔,你传入的回调参数不会生效。


正确实现方式

方法一:简化原有逻辑

直接将拼接后的字符串用数组包裹返回:

const functionOne = (arrayOne) => {
  // 数组转字符串后去除逗号
  const joinedStr = arrayOne.toString().split(',').join('');
  // 将拼接完成的字符串放入数组返回
  return [joinedStr];
};

console.log(functionOne([1, 2, 3])); // 输出: ['123']

方法二:循环拼接(适合理解基础逻辑)

如果想更直观地理解拼接过程,可以用循环遍历数组元素逐个拼接:

const functionOne = (arrayOne) => {
  let resultStr = '';
  for (const num of arrayOne) {
    // 将每个数字转为字符串并累加拼接
    resultStr += String(num);
  }
  // 返回包含拼接字符串的数组
  return [resultStr];
};

console.log(functionOne([1, 2, 3])); // 输出: ['123']

方法三:数组join方法(最简洁)

数组的join()方法可以直接指定空字符串作为分隔符,一步完成拼接:

const functionOne = (arrayOne) => {
  // join('')会直接将数组元素拼接成无分隔符的字符串
  return [arrayOne.join('')];
};

console.log(functionOne([1, 2, 3])); // 输出: ['123']

这个方法最简洁,且完全符合“不使用正则表达式”的要求。

内容的提问来源于stack exchange,提问作者Donut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 14:55:30