如何简单实现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
相关产品推荐
相关产品推荐

