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

JavaScript如何调整姓名顺序:将名字移至首位?

解决姓名格式调整问题

问题原因

你得到数值结果是因为unshift()和push()这两个数组方法的返回值是修改后数组的长度,不是调整后的数组内容。直接把它们的返回值赋值给变量,拿到的自然是数组长度3,而非目标姓名字符串。

正确解决方法

方法1:按索引直接重组(适合固定3段格式)

你的姓名格式固定为lastname mi firstname,拆分后数组的第0位是姓、第1位是中间名、第2位是名,直接按目标顺序重组拼接即可:

let s = 'lastname mi firstname';
let parts = s.split(' ');
// 两种拼接方式任选一种
let fullName = `${parts[2]} ${parts[1]} ${parts[0]}`;
// 或者 let fullName = [parts[2], parts[1], parts[0]].join(' ');
console.log(fullName); // 输出 "firstname mi lastname"

方法2:解构赋值重组(ES6简洁写法)

用解构赋值直接提取各部分,再按目标顺序拼接:

let s = 'lastname mi firstname';
const [lastName, mi, firstName] = s.split(' ');
let fullName = `${firstName} ${mi} ${lastName}`;
console.log(fullName); // 输出 "firstname mi lastname"

方法3:修改数组后拼接(适合动态调整场景)

如果需要通过数组操作调整顺序,先执行修改再拼接:

let s = 'lastname mi firstname';
let parts = s.split(' ');
// 取出名放到数组开头
const firstName = parts.pop();
parts.unshift(firstName);
// 取出现在数组中的姓放到末尾
const lastName = parts.splice(1, 1)[0];
parts.push(lastName);
// 拼接成最终字符串
let fullName = parts.join(' ');
console.log(fullName); // 输出 "firstname mi lastname"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 14:43:23