-3
var meals = {
  breakfast: "oatmeal",
  lunch: "turkey sandwich",
  dinner: "steak and potatoes"
};

=> 未定义

Object.assign({}, meals, {breakfast: ['oatmeal', 'banana']})

=> {早餐:数组(2),午餐:“火鸡三明治”,晚餐:“牛排和土豆”}

为什么 chrome 控制台显示Array(2)而不是显示数组的实际值,即['oatmeal', 'banana'].

4

1 回答 1

1

chrome 记录到控制台的值是一个数组本身。您可以通过扩展它来检查它。为简洁起见,仅显示array(2)。您始终可以扩展它以显示对象的全部内容,因此也可以显示完整的数组breakfast

嵌套值只是在显示它以正确显示对象并为您提供对象中进行的嵌套的正确视图时被压缩。

检查下面,返回的值Object.assign(...)与预期的一样。同样可以通过扩展 chrome 控制台记录的对象来验证。

var meals = {
  breakfast: "oatmeal",
  lunch: "turkey sandwich",
  dinner: "steak and potatoes"
};

console.log(Object.assign({}, meals, {breakfast: ['oatmeal', 'banana']}))

于 2020-09-05T21:42:18.293 回答