小编Abb*_*iah的帖子

复制数组上的 Javascript .map()

我注意到调用 .map() 而不将其分配给变量会使其返回整个数组,而不仅仅是更改的属性:

const employees = [{
    name: "John Doe",
    age: 41,
    occupation: "NYPD",
    killCount: 32,
  },
  {
    name: "Sarah Smith",
    age: 26,
    occupation: "LAPD",
    killCount: 12,
  },
  {
    name: "Robert Downey Jr.",
    age: 48,
    occupation: "Iron Man",
    killCount: 653,
  },

]

const workers = employees.concat();

workers.map(employee =>
  employee.occupation == "Iron Man" ? employee.occupation = "Philantropist" : employee.occupation
);

console.log(employees);
Run Code Online (Sandbox Code Playgroud)

但考虑到 .concat() 创建了原始数组的副本并将其分配给工人,为什么雇员也会发生变异?

javascript arrays function ecmascript-6

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

ecmascript-6 ×1

function ×1

javascript ×1