Json 类选择器上的每个循环都出现ChereIO错误-TypeError:无法设置属性';范围';未定义的

Json 类选择器上的每个循环都出现ChereIO错误-TypeError:无法设置属性';范围';未定义的,json,node.js,request,cheerio,Json,Node.js,Request,Cheerio,我在一个请求应用程序上做了一个简单的Cheerio解析。我不确定为什么在尝试设置数组时会出现这个未定义的错误,但我猜它没有设置值 var $ = cheerio.load(body); var json = [ { "range": "", "address": "", "state": "", "zip": "", "info": "" } ]; $('.findCourse').each(func

我在一个请求应用程序上做了一个简单的Cheerio解析。我不确定为什么在尝试设置数组时会出现这个未定义的错误,但我猜它没有设置值

        var $ = cheerio.load(body);

        var json = [  
            { "range": "", "address": "", "state": "", "zip": "", "info": "" }
        ];

        $('.findCourse').each(function (i, elem) {
            // Range Name
            console.log("iteration - ", i);
            console.log("name - ", $(this).text().trim());
            json[i].range = $(this).text().trim();
        });
下面是我的控制台响应,它读取并设置它在抓取的html中找到的前两项

iteration -  0
name -  Pollock's Ferry Hunting Club Inc.
iteration -  1
name -  Eagle 1
TypeError:无法设置未定义的属性“范围”

at Object.<anonymous> (/usr/local/node_app/server.js:30:31)
  at exports.each (/usr/local/node_app/node_modules/cheerio/lib/api/traversing.js:267:24)
at Request.request.post.form.__EVENTTARGET [as _callback] (/usr/local/node_app/server.js:26:30)
at Request.self.callback (/usr/local/node_app/node_modules/request/request.js:121:22)
at Request.EventEmitter.emit (events.js:98:17)
at Request.<anonymous> (/usr/local/node_app/node_modules/request/request.js:978:14)
at Request.EventEmitter.emit (events.js:117:20)
at IncomingMessage.<anonymous> (/usr/local/node_app/node_modules/request/request.js:929:12)
at IncomingMessage.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:920:16 1 May 23:02:57 - [nodemon] app crashed - waiting for file changes before starting...
at对象。(/usr/local/node_app/server.js:30:31)
在exports.each(/usr/local/node_app/node_modules/cheerio/lib/api/traversing.js:267:24)
at Request.Request.post.form.\u EVENTTARGET[as\u callback](/usr/local/node\u app/server.js:26:30)
at Request.self.callback(/usr/local/node\u app/node\u modules/Request/Request.js:121:22)
at Request.EventEmitter.emit(events.js:98:17)
应要求。(/usr/local/node_app/node_modules/request/request.js:978:14)
at Request.EventEmitter.emit(events.js:117:20)
在收到消息时。(/usr/local/node_app/node_modules/request/request.js:929:12)
在IncomingMessage.EventEmitter.emit(events.js:117:20)
在_stream_readable.js:920:16 1 May 23:02:57-[nodemon]应用程序崩溃-在启动前等待文件更改。。。

发现了问题。在抛出引用错误之前正在执行调试语句

简单的javascript数组问题,我试图将新元素推到数组中不存在的位置

这是我的解决办法

    var $ = cheerio.load(body);
    var json = [];

    $('.findCourse').each(function (i, elem) {
        // Range Name
        json.push({});
        json[i].range = $(this).text().trim();
    });

发现了问题。在抛出引用错误之前正在执行调试语句

简单的javascript数组问题,我试图将新元素推到数组中不存在的位置

这是我的解决办法

    var $ = cheerio.load(body);
    var json = [];

    $('.findCourse').each(function (i, elem) {
        // Range Name
        json.push({});
        json[i].range = $(this).text().trim();
    });