【发布时间】:2014-03-06 06:37:47
【问题描述】:
我有以下功能正在工作,但我需要正确排序数组 我将向您展示我的代码,然后我将向您展示我的输出,然后是我需要的输出
编辑我的完整代码和输出
var app = require('express')()
, server = require('http').createServer(app)
, fs = require('fs')
, exec = require('child_process').exec
, io = require('socket.io').listen(server);
var async = require('async');
server.listen(process.env.PORT);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/client/index.html');
// console.log(async);
});
io.sockets.on('connection', function (socket) {
//socket.emit('dinpu', { hello: 'world' });
// myModule('fam@btin.com:asdfef');
socket.on('dout', function (data) {
//module2(data);
//console.log(JSON.parse(data.message));
for(i = 0; i < data.message.length; i++) {
//data.message[i] = data.message[i].replace(/"/g, "");
}
module1(data.message);
module2(data.message);
function module1(data) {
console.log(data);
}
function async(arg, callback) {
console.log('do something with \''+arg+'\', return 1 sec later');
setTimeout(function() { callback(arg * 2); }, 1000);
}
function module2(data) {
function final() { console.log('Done', results); }
var items = data;
var results = [];
function series(item) {
if(item) {
async( item, function(result) {
results.push(result);
return series(items.shift());
});
} else {
return final();
}
}
series(items.shift());
}
});
});
除了这部分,一切正常
function final() { console.log('Done', results); }
我得到结果
do something with 'dfhfgh', return 1 sec later
do something with 'gfhjghj', return 1 sec later
do something with 'gfhjghj', return 1 sec later
do something with 'fghjgh', return 1 sec later
do something with 'ghjfhj', return 1 sec later
Done [ NaN, NaN, NaN, NaN, NaN ] < the problem
如果引号不在我的数组中,那么为什么会出现在其他结果中我不需要这个
【问题讨论】:
-
你是说需要在数组中存储变量,而不是字符串?
-
我需要从数组中删除 '
-
您能澄清一下您的问题吗?您将其描述为排序问题,但值不会在当前和期望之间更改顺序。他们只是去掉了报价。你想完成什么?
-
另请注意,
console.log()正在编写值的 inspected 视图。引号实际上不是字符串中的字符。它们只是包含在日志中以表示这些值是字符串。
标签: javascript arrays node.js express