开发者问题收集

如何在 java 脚本中声明未知大小的用户定义对象数组

2017-02-06
102

对于我的模块,我需要声明一个未知大小的用户定义对象数组,该数组具有两个属性:datatype 和 FullName。我希望能够在创建时将这些属性设置为 null。

我尝试了以下代码。

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

我收到错误:Uncaught TypeError:无法设置未定义的属性“dtype”。

有什么想法吗?

2个回答

因此,javascript 不支持定义或限制进入数组的类型,并且您也不必指定大小,您可以继续本机向其中添加这些对象

但是如果您想限制进入其中的类型,有一种方法

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

https://jsfiddle.net/9sL920qt/

Noah Reinagel
2017-02-06

应用 Noah 的逻辑,我尝试了这个对我有用的解决方案。

  var result = [];

有一个临时对象:

 var resultItem = {};

设置临时对象的值。

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

然后将该对象添加到最终数组

 result[i] = resultItem;
codingyo
2017-02-06