gpt4 book ai didi

javascript - javascript array.length 函数的奇怪结果

转载 作者:行者123 更新时间:2023-11-30 07:10:18 26 4
gpt4 key购买 nike

我有一段 JavaScript 代码,它循环遍历表单元素并构建一个对象。我混合使用了 HTML 输入字段和 ASP.NET 输入字段。 ASP.NET 将字段的 ID 更改为 xxxxx_yyyy_id 的形式,因此我试图使用拆分函数来提取原始 ID。

 // Iterate over all the text fields and build an object
$(':text').each(function () {

var tokens = this.id.split("_");
if (tokens.length = 3) {
// Assume this is a .net inputbox - extract the original id
inFormData[tokens[2]] = this.value;
} else {
inFormData[this.id] = this.value;
}
});

单步执行上面的代码,第一个id是ctl00_ContentPlaceHolderCol1_forenameField,所以运行了tokens.length = 3的代码。在第二次迭代中,id 是 forenameField2,所以我希望 tokens.length 为 1,但实际上是 3。else 语句永远不会运行。

这可能很简单,但我无法解决。如果我检查 token 数组,它在第二次迭代中只有 1 个元素。我还尝试在每次迭代后将 array.length 设置为 0。

感谢任何帮助。

最佳答案

更正这个:

== instead of =. === is more better


if (tokens.length == 3) {
// Assume this is a .net inputbox - extract the original id
inFormData[tokens[2]] = this.value;
} else {
inFormData[this.id] = this.value;
}

关于javascript - javascript array.length 函数的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10386857/

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