JavaScript如何将数组[1,2,3,4]处理为两两拼接的12、23、34结果
你可以通过遍历数组前N-1项,拼接当前项与下一项的方式实现需求,完整代码如下:
// 你的初始数值 let numbers = 1234; // 你原有拆分逻辑 let splitArr = String(numbers).split("").map(Number); console.log('拆分后数组', splitArr) // 输出 [1,2,3,4] // 核心处理逻辑 let res = [] for (let i = 0; i < splitArr.length - 1; i++) { // 拼接相邻两位后转为数值 const combineNum = Number(`${splitArr[i]}${splitArr[i+1]}`) res.push(combineNum) } console.log('处理结果', res) // 输出 [12, 23, 34]
如果你偏好更简洁的函数式写法,可以用slice + map实现:
const res = splitArr.slice(0, -1).map((item, idx) => Number(`${item}${splitArr[idx+1]}`))
逻辑说明:
splitArr.slice(0, -1)用于提取数组除最后一位外的所有元素,对应所有需要拼接的起始位- 拼接时先做字符串拼接再转为数值,避免直接做加法得到1+2=3的错误结果
- 代码兼容不同长度的初始数值,比如初始值为12345时会自动输出[12,23,34,45],无需修改逻辑
内容的提问来源于stack exchange,提问作者Jean Val Jean
相关产品推荐
相关产品推荐

