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

如何简单实现JavaScript对象中firstName与lastName的交换?

解决方案

没问题,这事儿其实挺简单的!你只需要遍历数组里的每个员工对象,交换它们的firstName和lastName属性值就行。这里给你两种常用的实现方式,按需选择:

方法1:直接修改原数组

如果不介意改动传入的原始数组和对象,可以用这种方式,直接在原数据上修改:

function revertFirstNamesAndLastNames(employees) {
  // 遍历数组里的每一个员工对象
  for (const employee of employees) {
    // 用临时变量暂存其中一个值,完成属性交换
    const temp = employee.firstName;
    employee.firstName = employee.lastName;
    employee.lastName = temp;
  }
  return employees;
}

方法2:返回新数组(不修改原数据,推荐)

如果你不想改动原始数据(避免后续代码用到原数据时出问题),可以用Array.map()创建并返回一个全新的数组,每个元素都是交换属性后的新对象:

function revertFirstNamesAndLastNames(employees) {
  // 用map遍历原数组,返回新的对象组成的数组
  return employees.map(employee => ({
    firstName: employee.lastName,
    lastName: employee.firstName
  }));
}

测试验证

把你的测试代码和上面的函数结合起来,就能得到你期望的输出:

var employees = [{firstName: "Richter", lastName: "Johnas"}, {firstName: "Leibig", lastName: "Linda"}, {firstName: "Schneider", lastName: "Mariane"}];

console.log("\n> Should display [{firstName: 'Johnas', lastName: 'Richter'}, {firstName: 'Linda', lastName: 'Leibig'}, {firstName: 'Mariane', lastName: 'Schneider'}]");
console.log(revertFirstNamesAndLastNames(employees));

两种方法都能实现你要的效果,第二种因为不会修改原数据,在大多数业务场景下更稳妥哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:21:38