返回数组长度而不是实际数组的Console.log数组?

时间:2020-04-16 02:39:41

标签: javascript arrays

因此,我试图挖掘更多的Vanilla JS,并设置了一个对象和一个空数组,并将该对象推入数组中,但是当我console.log我的数组时,它仅返回长度。我在做错什么或如何查看阵列内部有什么?

这是我的示例代码

let empty = []

let exp = {
  2: 'Hey',
  28: 'Yo',
  9: 'Heyyyy!!',
  6: 'Foo'
}

let newValue = empty.push(exp)
console.log(newValue)

现在,如果我不使用newValue而是这样做,它似乎可以工作:-

let empty = []

let exp = {
   2: 'Hey',
   28: 'Yo',
   9: 'Heyyyy!!',
   6: 'Foo'
}

empty.push(exp)
console.log(empty)

为什么console.log(newValue)不返回数组和存储在其中的对象?我认为我应该能够将值分配给新变量。如果有人可以清除它,我肯定会感激的。

3 个答案:

答案 0 :(得分:2)

push方法将值添加到我们正在操作的数组中,并返回新的数组长度。

let newValue = empty.push(exp) 

与相同。

let newValue = empty.length ( length after pushing value )

第二个片段在您记录实际数组时显示该数组,其中第一个片段newValue中的长度与数组的长度相同。

答案 1 :(得分:2)

您正在记录push的返回值,即长度。检查文档以了解更多information

答案 2 :(得分:1)

您可以使用spread syntax来获得与您尝试的结果类似的结果:

let empty = [];

let exp = {
  2: "Hey",
  28: "Yo",
  9: "Heyyyy!!",
  6: "Foo",
};

let newValue = [...empty, exp];
console.log(newValue);