代码执行结果预期不一样 参数指针问题


let user = {
  data: {
    friends: ['Sam', 'Kira','Tomo'],
  }
}
function addFriend(userObj, friend) {
  let res = userObj.data.friends;
  let a = res.push(friend);
  console.log(a);
  return a;
  }

console.log(addFriend(user, 'Pete'));

let a = res.push(friend); 你这样a赋值的是 push() 方法的返回值。
push() 方法的返回值是添加元素之后的数组长度, 不是返回数组对象自身。
应该改成
res.push(friend);
let a = res;

是这样

let user = {
  data: {
    friends: ['Sam', 'Kira','Tomo'],
  }
}
function addFriend(userObj, friend) {
  let res = userObj.data.friends;
  res.push(friend);
  let a = res;
  console.log(a);
  return a;
  }
console.log(addFriend(user, 'Pete'));