Javascript 数组大小内索引处的数组未定义

Javascript 数组大小内索引处的数组未定义,javascript,arrays,angularjs,angularjs-scope,Javascript,Arrays,Angularjs,Angularjs Scope,我需要创建一个初始化为对象长度的数组。然后能够将新数据插入数组中的索引中 代码示例: $scope.holder = new Array($scope.x.length); $scope.holder[0].new_data = response.data; 但是,上述情况会产生错误: TypeError: Cannot set 'new_data' of undefined 如果我指定了数组的大小,这怎么可能呢?数组中不应包含三个对象。我怎样才能解决这个问题 $scope.holder =

我需要创建一个初始化为对象长度的数组。然后能够将新数据插入数组中的索引中

代码示例:

$scope.holder = new Array($scope.x.length);
$scope.holder[0].new_data = response.data;
但是,上述情况会产生错误:

TypeError: Cannot set 'new_data' of undefined
如果我指定了数组的大小,这怎么可能呢?数组中不应包含三个对象。我怎样才能解决这个问题

$scope.holder = new Array($scope.x.length);
$scope.holder[0] = {'new_data':  response.data};
UPD:或者您可以创建对象数组

$scope.holder = Array.apply(null, Array($scope.x.length)).map(function () { return new Object(); })
$scope.holder[0].new_data = response.data;
UPD:或者您可以创建对象数组

$scope.holder = Array.apply(null, Array($scope.x.length)).map(function () { return new Object(); })
$scope.holder[0].new_data = response.data;

在这种情况下,首先
[0]
数组中的
元素必须是
对象
,因为现在它是
未定义的
,并且您不能将属性分配给
未定义的
,您需要创建空的
对象(
{}
),然后将属性分配给它

$scope.holder = new Array($scope.x.length);
$scope.holder[0] = {};
$scope.holder[0].new_data = response.data;

在这种情况下,首先
[0]
数组中的
元素必须是
对象
,因为现在它是
未定义的
,并且您不能将属性分配给
未定义的
,您需要创建空的
对象(
{}
),然后将属性分配给它

$scope.holder = new Array($scope.x.length);
$scope.holder[0] = {};
$scope.holder[0].new_data = response.data;

$scope.holder[0]
尚未定义,数组有三个未定义项
$scope.holder[0]
尚未定义,数组也有三个未定义项谢谢!哎,哎,哎,哎,真是太傻了,谢谢你!哎,哎,哎,哎,真是愚蠢的事