javascript Object.type中是否有属性?

javascript Object.type中是否有属性?,javascript,json,node.js,object,Javascript,Json,Node.js,Object,我现在正在学习Node.Js,遇到了以下代码: var combine = require('stream-combiner'); var through = require('through2'); var split = require('split'); var zlib = require('zlib'); module.exports = function () { var grouper = through(write, end); va

我现在正在学习Node.Js,遇到了以下代码:

  var combine = require('stream-combiner');
  var through = require('through2');
  var split = require('split');
  var zlib = require('zlib');

  module.exports = function () {
      var grouper = through(write, end);
      var current;

      function write (line, _, next) {
          if (line.length === 0) return next();
          var row = JSON.parse(line);

          if (row.type === 'genre') {
             if (current) {
                 this.push(JSON.stringify(current) + '\n');
             }
              current = { name: row.name, books: [] };
          }
          else if (row.type === 'book') {
              current.books.push(row.name);
          }
          next();
      }
      function end (next) {
          if (current) {
              this.push(JSON.stringify(current) + '\n');
          }
          next();
      }

      return combine(split(), grouper, zlib.createGzip());
  };
write函数得到的每一行都是一个json行,如下所示:

"name": "Neuromancer","genre": "cyberpunk"
预期结果是以下JSON对象:

{
"name": "cyberpunk",
"books": [
  "Accelerando",
  "Snow Crash",
  "Neuromancer",
  "The Diamond Age",
  "Heavy Weather"
]}
等等

基本上我的问题是-row.type是什么意思


提前谢谢你!:D

您将类型参数放入var

var row = JSON.parse(line);

因此,这不是对象函数的特殊属性,它只是JSON中的一个参数(varline

它是JSON参数
line
中的一个属性。它可能是任何东西-无法从中分辨出您在哪里找到了代码?你确定它真的有效吗?JSON示例没有
type
属性,因此
row.type
将始终是
undefined
,如果这确实是输入的样子。这正是我的想法。这是我用来学习Node.JS的研讨会的一部分,所以我想他们知道自己在做什么。基本上,我通过执行JSON.parse()向JSON添加了type属性?