Dyl*_*ers 4 javascript arrays tridion tridion-2011
我有一些简单的Javascript循环遍历项目数组(Tridion用户组)来检查用户是否是特定组的成员.
我可以轻松编写下面显示的问题(参见参考资料&& extensionGroup !== 'true'),但我想了解为什么isArray= true被计算为数组中的值 - 任何想法?
下面的屏幕截图显示了extensionGroups已设置的值
var extensionGroups = ["NotEvenARealGroup", "Author", "ExampleGroupAfterOneUserIsActuallyIn"];
Run Code Online (Sandbox Code Playgroud)
但是将isArray值作为第4个值返回?
更新以显示图像更清晰


你for in用来迭代一个数组; 不要那样做.使用for(或forEach):
for(var i = 0; i < extensionGroups.length; i++) {
var extensionGroup = extensionGroups[i];
// ...
}
Run Code Online (Sandbox Code Playgroud)
失败的原因是因为for in用于在JavaScript中迭代对象的属性.以这种方式迭代数组意味着您将获得分配给它的任何其他内容,例如此属性或length.
如果你能够使用Array#forEach,这可能是最合适的:
extensionGroups.forEach(function(extensionGroup) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |