我只是想知道为什么无法在undefined数组上进行forEach。
码:
var arr = new Array(5); // [undefined x 5]
//ES5 forEach
arr.forEach(function(elem, index, array) {
console.log(index);
});
//underscore each
_.each(arr, function(elem, index, array) {
console.log(index);
});
这两个示例都不执行功能。
现在要进行foreach,我必须做:
var arr = [0,0,0,0,0];
然后在其上争取。
我试图使数组具有指定的大小并循环通过它,避免for
循环。我认为使用forEach比for循环更清晰。对于长度为5的数组,这不是问题,但是对于较大的数组,这将是丑陋的。
为什么遍历未定义值的数组存在问题?
Array(5)
本质上等同于
var arr = [];
arr.length = 5;
在javascript中,更改数组的长度不会为其数字属性设置任何值,也不会在数组对象中定义这些属性。因此,数字属性是不确定的,而不是具有不确定的值。您可以使用以下方法进行检查:
Object.keys(arr)
迭代javascript时会迭代数组的数字属性,因此,如果这些数字属性不存在,则没有任何要迭代的内容。
您可以通过以下方法进行检查:
var arr = Array(5)
//prints nothing
arr.forEach(function(elem, index, array) {
console.log(index);
});
arr[3] = 'hey'
//prints only 'hey' even though arr.length === 5
arr.forEach(function(elem, index, array) {
console.log(index);
});
如下代码:
var arr = [undefined, undefined];
创建和数组,length ===2
并将 数字属性0和1都设置为undefined 。
在.citydoor.imports.catalog.tools中打包;
问题内容: 所以我有一个名为User的Java类,其中包含如下构造函数: 然后他的问题发生在我的另一个名为Admin的类中: 我收到了错误消息,我不知道该如何解决,我对Java真的很陌生。 问题答案: 您必须使用扩展类的构造函数的第一个类调用构造函数,方法是: 如果您还希望Admin也具有自定义构造函数,则必须调用: 所以:
我试图构建一个包含getter和setter的构造函数,除了在参数中调用它之外,这些构造函数似乎对我的所有属性都很好。 当我读到这行代码时: 然后在控制台中出现以下错误: 构造函数flip(String)未定义构造函数flip(String)未定义 也许我错过了什么?
问题内容: 我已经加载了内容模块,我得到的具体错误是: 有什么想法吗?我是从以下教程中获得的:http : //developer.android.com/guide/topics/ui/notifiers/notifications.html 问题答案: 更改此: 至 发生错误是因为在这种情况下,它引用的实例,但构造函数需要一个。您必须传递的上下文是对活动本身的引用,因此您必须使用显式访问它。
问题内容: 好的,我正在做学校的作业,我设置了我的主班和另一个名为“交易”的班。在我的主班我有: 带下划线的交易:表示构造函数未定义。为什么?! Transaction类如下所示: 看起来它应该可以工作,但事实并非如此。即使当我在main中创建新Transaction对象的位置插入一堆变量时,它仍然显示未定义。有人请帮忙! 问题答案: 您的类中没有默认的构造函数定义。 当您提供至少一个参数化构造函
已经给出了所有的DTO@data、@noargsconstructor、@allargsconstructor,所以理想情况下所有的构造函数都应该可用。 我已经尝试用新旧版本的Spring tool suite和更改的lombok jar来构建这个项目。但同样或不同的错误仍在出现。 用STS4和STS 3.9.7尝试,3.9.8同样的问题即将到来。尝试龙目岛1.16.22、1.18.0、1.18.