Javascript 在JS中迭代我的数组,但我';我得到一个“a”;无法读取属性';长度';“未定义”的定义;错误

Javascript 在JS中迭代我的数组,但我';我得到一个“a”;无法读取属性';长度';“未定义”的定义;错误,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我正在尝试构建一个简单的邮政编码检查器,程序将在其中检查用户输入的邮政编码是否与有效邮政编码列表匹配。问题是,我遇到了一个错误,上面写着“无法读取未定义的属性‘length’”。我做错了什么 让validZips=[1234578910]; 让zip=document.getElementById(“zipCode”).value; 常量校验码=(zip,validzip)=>{ for(设i=0;i{ for(设i=0;i{ for(设i=0;i { validZips=[123456789

我正在尝试构建一个简单的邮政编码检查器,程序将在其中检查用户输入的邮政编码是否与有效邮政编码列表匹配。问题是,我遇到了一个错误,上面写着“无法读取未定义的属性‘length’”。我做错了什么

让validZips=[1234578910];
让zip=document.getElementById(“zipCode”).value;
常量校验码=(zip,validzip)=>{
for(设i=0;i

邮政编码

检查邮政编码
validZips.length工作正常,请查看此项

让validZips=[1234578910];
常量校验码=(zip,validzip)=>{
for(设i=0;i检查代码(1234,有效IP)validZips.length工作正常,请查看此项

让validZips=[1234578910];
常量校验码=(zip,validzip)=>{
for(设i=0;i用户“barzin.A”建议代码未执行,因为数组不在函数范围内。我在函数的范围内定义了数组,一切都按预期进行。以下是解决方案代码:

let zip = document.getElementById("zipCode").value;

 const checkCode = (validZips,zip) =>

 {
    validZips = [12345,67891];
     for(let i=0; i < validZips.length; i++){

     if (zip !== validZips[i]) {
         alert("out of service area")
     }
 }
let zip=document.getElementById(“zipCode”).value;
常量校验码=(有效码,邮政编码)=>
{
validZips=[1234567891];
for(设i=0;i
用户“barzin.A”建议代码未执行,因为数组不在函数范围内。我在函数范围内定义了数组,所有操作都按预期进行。以下是解决方案代码:

let zip = document.getElementById("zipCode").value;

 const checkCode = (validZips,zip) =>

 {
    validZips = [12345,67891];
     for(let i=0; i < validZips.length; i++){

     if (zip !== validZips[i]) {
         alert("out of service area")
     }
 }
let zip=document.getElementById(“zipCode”).value;
常量校验码=(有效码,邮政编码)=>
{
validZips=[1234567891];
for(设i=0;i
如果您的邮政编码都是数字,则执行二进制搜索将更有效率()我将对此进行一次尝试,但我真的很想理解为什么我当前的代码块给了我一个错误。@阿纳金问题是关于让for循环工作。你的链接可能不是超级相关。@1252748这正是我将其添加为注释的原因。你添加它是因为它不相关。明白了。如果你的邮政编码都是数字,执行bi没有搜索会更有效()我将对此进行一次尝试,但我真的很想理解为什么我当前的代码块给了我一个错误。@阿纳金问题是关于让for循环工作。你的链接可能不太相关。@1252748这正是我添加它作为注释的原因。你添加它是因为它不相关。明白了。你的代码和我的代码之间唯一的区别是什么是“zip”变量的声明和console.log vs alert的使用,但我仍然得到相同的“无法读取属性'length'…”“我的控制台中出现错误。@kobyrthr我已经运行了这个程序,可以确认它是否正常工作。您可能没有将数组传递到函数中,因此外部的
validZips
被函数作用域中的参数集覆盖。就是这样!我在函数中定义了数组并执行了代码。谢谢您的帮助!唯一的您的代码和我的代码之间的区别在于“zip”变量的声明和console.log vs alert的使用,但我仍然得到相同的“无法读取属性'length'…”“我的控制台出错。@kobyrthr我已经运行了这个程序,可以确认它是否正常工作。可能您没有将数组传递到函数中,因此外部的
validZips
被函数作用域中的参数集覆盖。就是这样!我在函数中定义了数组并执行了代码。谢谢您的帮助!”!