React js console数组元素undefind

时间:2017-08-12 12:52:18

标签: json reactjs getjson

我尝试打印这个

console.log(location_list.all_list[3]);
console.log(location_list.all_list);

但是" undefined" 1例。 什么不对?

enter image description here

更多代码:



    var items = [];
    
    $.getJSON( "js/location_list.json", function( data ) {
        $.each( data, function( key, val ) {
            items.push(key=val);
        });
    });
    
    this.all_list = items;




结论: 此类作业不能用于" getJSON"

  

this.all_list = items;

1 个答案:

答案 0 :(得分:0)

基于此代码:

    var items = [];
    $.getJSON( "js/location_list.json", function( data ) {
        $.each( data, function( key, val ) {
            items.push(key=val);
        });
    });
    this.all_list = items;

因为异步

而看起来像 检索事件中的

语句

$.each( data, function( key, val ) {
    items.push(key=val);
});

在检索事件发生之前调用console.log(location_list.all_list[3]);

console.log(location_list.all_list); => []
console.log(location_list.all_list[3]); => 'undefined'

您需要检查all_list

的长度
if(location_list.all_list.length > 3) console.log(location_list.all_list[3]);