2017-02-06 14 views
0

对于我的模块,我需要用两个属性声明未知大小的用户定义对象数组:数据类型和FullName。我希望能够在创建时将这些属性设置为null。如何在java脚本中声明未知大小的用户定义对象数组

我试过下面的代码。

var result = [{dtype:null, fname:null, }];

我得到错误:Uncaught TypeError:无法设置未定义的属性'dtype'。

有什么想法?

+0

'变种富= [];' – Will

+0

我怎样才能初始化属性? – codingyo

+1

没有repro。你可能实际上并没有使用JavaScript,但其他的东西,可能是打字稿?在任何浏览器中打开JavaScript控制台。粘贴添加到问题中的内容。田田。作品。你的错误在于另一座城堡。 – Will

回答

1

所以JavaScript不支持定义或限制进入一个数组类型,你不必要么指定大小,你可以不断添加的对象它本身

但是,如果你想以限制走进它的类型,有一种方法

function addThing(thing) { 
    if(thing.hasOwnProperty("fullName") && thing.hasOwnProperty("dataType")) { 
     array.push(thing); 
    } 
} 

https://jsfiddle.net/9sL920qt/

0

应用诺亚的逻辑,我想这个解决方案,它为我工作。

var result = []; 

有一个临时对象:

var resultItem = {}; 

SET TEMP对象的值。

resultItem.fname = resultsinJson.Data[i][keys]; 
resultItem.dtype = resultsinJson.Data[i][keys] ; 

,然后将该对象添加到最终阵列

result[i] = resultItem; 
相关问题