如何在数组变量中声明对象?

时间:2018-01-13 07:06:20

标签: javascript

如何在数组变量中声明对象。它显示以下错误

  

" TypeError:无法设置属性' name'未定义"

这是代码:

let data = []
data[0].name = "john"

3 个答案:

答案 0 :(得分:2)

在设置该对象的属性之前,您需要将数组的第一个元素声明为对象。

其中一种方法是:

let data = [];
data[0] = {};
data[0].name = "john";

答案 1 :(得分:2)

您收到错误,因为data是一个空数组,因此data数组在0位置没有任何元素。因此,当您尝试访问data[0],您可以在控制台中检查)时,您将获得undefined。任何尝试将新name属性设置为undefined的行为都会导致Cannot set property 'name' of undefined"错误。您可以通过多种方式解决此问题,其中一种方法就是按下新对象:

let data = []
data.push({ name : "john"});
console.log(data)

或者,您也可以尝试先将data[0]声明为空对象,以便之后可以为其指定任何新属性,如:

let data = [];
data[0] = {};
console.log(typeof data[0]);  // This is not undefined anymore
data[0].name = "john";
console.log(data)

答案 2 :(得分:0)

那将是

  

让data = []; data [0] = {“name”:“john”}