我无法弄清楚我做错了什么,希望有人能指出我正确的方向。
我正在尝试遍历一个对象数组并对每个对象进行测试,当某些事情成立时,我想将该对象添加到它自己的数组中,作为单个对象(就像它在原始对象数组)。我似乎是将信息添加到新数组中,但是当我通过newarray [0]引用新数组时,它给了我对象的第一项,而不是整个对象本身。
问题似乎在于这一行:
/home/chopin/Development/homeautomation/node_modules/mongojs/node_modules/mongodb/lib/utils.js:98
process.nextTick(function() { throw err; });
^
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:344:11)
at ServerResponse.header (/home/chopin/Development/homeautomation/node_modules/express/lib/response.js:719:10)
at ServerResponse.send (/home/chopin/Development/homeautomation/node_modules/express/lib/response.js:164:12)
at ServerResponse.json (/home/chopin/Development/homeautomation/node_modules/express/lib/response.js:250:15)
at /home/chopin/Development/homeautomation/routes/devices.js:80:9
at /home/chopin/Development/homeautomation/node_modules/mongojs/lib/collection.js:50:5
at handleCallback (/home/chopin/Development/homeautomation/node_modules/mongojs/node_modules/mongodb/lib/utils.js:95:56)
at /home/chopin/Development/homeautomation/node_modules/mongojs/node_modules/mongodb/lib/cursor.js:674:5
at handleCallback (/home/chopin/Development/homeautomation/node_modules/mongojs/node_modules/mongodb/node_modules/mongodb-core/lib/cursor.js:171:5)
at nextFunction (/home/chopin/Development/homeautomation/node_modules/mongojs/node_modules/mongodb/node_modules/mongodb-core/lib/cursor.js:682:5)
[nodemon] app crashed - waiting for file changes before starting...
csv文件中的数据是计算机主机名,计算机IP地址,错误代码和代理ID。
e.g。 MACHINENAME,10.10.10.10,ERROR101,123456FF
$global:MachinesInAD += $global:MachineObject
答案 0 :(得分:1)
这种情况正在发生,因为你所谓的对象,只是一个数组(它是一个对象,但你的属性是元素,而不是属性)。
无论如何,当你这样做时:
$global:MachinesInAD += $global:MachineObject
你最终连接数组。
@(1,2,3) + @(4,5,6)
这导致一个包含6个元素的数组,而不是3个数字和一个数组。
您应该使用[hashtable]
或[PSObject]
而不是数组;或者正如您在构建原始数据时所做的那样,您需要将其强制转换为单元素数组,如:
$global:MachinesInAD += ,@($global:MachineObject)