数组无法从for循环内部访问 - javascript

时间:2017-06-13 16:59:32

标签: javascript arrays

我有一个用户数组,我似乎无法在任何类型的循环中使用。阵列"用户"当我尝试在循环中访问它时,是未定义的。

以下是生成的javascript / html。我确信它很简单我只是盯着这个方向太久而且我看不出错误。我无法从循环中访问任何属性,包括我刚刚使用过的属性。

<script type="text/javascript">
var userss = [];
userss[ '1' ] = { id:'1', fname:'Lorem', lname: 'ipsum', uname: 'as', email: 'none@none.com', loca: '', flags: 'a', active: '1' };
userss[ '2' ] = { id:'2', fname:'dolor', lname: 'sit', uname: 'dsit', email: 'dsit@someemail.com', loca: 'CA', flags: 'afmnopt', active: '1' };
userss[ '3' ] = { id:'3', fname:'Test', lname: 'Testerson', uname: 'ttest', email: 'ttesterson@notreal.com', loca: 'TX', flags: 'afmnopt', active: '1' };
function usersx(x) {
    document.getElementsByName("fname")[0].value = userss[x]["fname"];
    document.getElementsByName("lname")[0].value = userss[x]["lname"];
    document.getElementsByName("email")[0].value = userss[x]["email"];
    document.getElementsByName("user")[0].value = userss[x]["uname"];


    var rightChecks = document.querySelectorAll("[name^='right']");

    alert(userss[x]["flags"]);//this works
    for (x = 0 ; x < rightChecks.length ; x++){ //This is the point that it breaks
        //if(true){

            alert(userss[x]["flags"]);//this fails "Cannot read property flags of undefined"
            var a_link = new RegExp("/" + rightChecks[x].name[5] + "/");
            //alert(userss[x]["flags"]);
            document.getElementsByName(rightChecks[x].name)[0].checked = a_link.test(userss[x]["flags"]);
            //alert(rightChecks[x].name[5]);

        //}
    }
}

非常抱歉,如果这最终只是一个简单的拼写错误......我现在只是对此视而不见。

编辑:我完全忘记了我使用X作为我的函数和循环计数器的事实。谢谢大家

0 个答案:

没有答案