【问题标题】:node.js need to fix my function array outputnode.js 需要修复我的函数数组输出
【发布时间】: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


【解决方案1】:

我需要从数组中删除 '

好消息 - ' 实际上不在您的数组中。您的数组有字符串,当您记录数组时,这些字符串会显示在引号中。

您可以安全地使用这些字符串中的任何一个;报价将不存在。

【讨论】:

  • 我明白这一点,我将在上面发布我的代码并向您展示我正在尝试修复的错误
  • 检查我上面的代码,因为你看到它显示我的结果为“字符串”,当我需要它是字符串并且还得到 [NAN, NAN, NAN] 作为我的最后一个结果输出时
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-17
相关资源
最近更新 更多