gpt4 book ai didi

Javascript for 循环语法

转载 作者:搜寻专家 更新时间:2023-11-01 05:12:20 25 4
gpt4 key购买 nike

作为 JavaScript 开发人员,我们都必须编写大量的 for 循环。几个月前,我看到了一种我非常喜欢的替代语法。但是,我现在很感兴趣,还有其他好的方法吗?

假设我有一个表示系统中用户的数据数组。我之前做的是:

var users = [
{ name: "A"},
{ name: "B"},
{ name: "C"},
{ name: "D"},
{ name: "E"}
];

var numOfUsers = users.length;
for(var i=0; i<numOfUsers; i++) {
var user = users[i];
// ...
}

还有一行var user = users[i];。通常,如果我有 user 而不是 users[i],我会感觉更舒服。所以,新方法:

for(var i=0; user=users[i]; i++) {
// ...
}

我还想知道第二种方法是否会在某些浏览器中产生问题。我的一位同事报告说这种语法在 IE 下有点错误。

编辑:值得庆幸的是,下面的答案为我指明了正确的方向。如果数组的某些元素是假的,那么循环将停止。有一些解决方案:

for(var i=0; typeof (user=users[i]) !== "undefined"; i++) {
// ...
}

但这对我来说太多了。所以,我想只有当我 100% 确定所有元素都是真实的(这意味着永远不会 :))时,我才会使用这种语法。

最佳答案

在您的"new"方法中,您不再需要 numOfUsers

至于潜在的问题:这种方法依赖于所有 users[i] 的值评估为 true 循环继续(和 user 变为 undefined,等于 false 并因此在处理完最后一个用户后结束循环)——但有时您可能有数据每条记录的计算结果都是 true,但“false-y”值也可能出现在数据中——在这种情况下,这种方法当然会失败。

关于Javascript for 循环语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19853985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com