Articles of for loop

使用push()和for循环的Javascript JSONArray问题

我已经做了一个简单的程序,使用两个for循环在本地存储一个数组,但发生了一些奇怪的事情… 有我的代码: var imagesdata = data[0]; var preferences = data[1]; for (var i = preferences.length – 1; i >= 0; i–) { (function(i){ for (var z = imagesdata.length – 1; z >= 0; z–) { (function(i){ if(imagesdata[z].cathegory == preferences[i].cathegory){ var array = $('body').data('data'+preferences[i].cathegory); if(array == null){ alert('asefsef'); $('body').data('data'+preferences[i].cathegory, [{'pname' : imagesdata[z].pname , 'pimage' : imagesdata[z].pimage}]); […]

在Node.JS中同步“GET”

我试图循环通过一个HTML块的图像,并获得每个图像的原生宽度。 我有完美的DOM构build,我在NPM上使用图像大小模块来检索图像宽度。 问题是需要花费时间来获取图像并获取宽度,所以在获取宽度之前,代码会继续处理。 因此,我无法调整HTML块中的宽度,因为函数在获取第一个图像之前运行并完成。 无论如何,停止代码处理,直到这个GET请求完成? 我不希望For循环继续,直到图像完成。 var elem_tags = doc.getElementsByTagName("img"); var elem_tags_length = elem_tags.length; for (var i=0; i < elem_tags_length; i++) { var imgUrl = options.elem_tags[i].getAttribute('src'); http.get(imgUrl, function (response) { // My Code To Manipulate <img> tags var chunks = []; response.on('data', function (chunk) { chunks.push(chunk); }).on('end', function() { var buffer = Buffer.concat(chunks); console.log(imgSize(buffer).width); // […]

来自for循环的variables总是返回0

我对node.js / sails.js比较陌生,遇到了一个问题,我知道答案很简单,但我似乎无法解决这个问题。 我的代码如下 SendCompleted : function(req,res) { var updated = 0; var params = req.params.all(); var dt = JSON.parse(decodeURI(params.id)); var connection = new sql.Connection(testrmis, function (err) { if (err) { } for(var i = 0; i < dt.length; i++) { var obj = dt[i]; var request = new sql.Request(connection); request.stream = true; request.input('branchid', sql.Int(), […]

(单个SQL查询)vs(单个SQL查询和循环数据)哪一个更好?

我有一个要求从SQL数据库中获取用户给出的项目列表的数据。 例如,如果用户上传包含1000个item ID的.csv文件,那么通过item_id创build1000个SQL查询将是更好的select? 或者在一个单一的SQL查询中获取整个数据库表数据,并循环这些数据将是一个更好的select?

循环递增在传递给函数之前进行限制

我有一些代码来复制数组中包含的每个源目标和目标目录在dirs数组中的文件。 每循环一次,它就会调用复制的函数。 它看起来像这样: var filesInEachDir ["file1", "file2", "file3"]; var dirs = [ {"source": "sourceDirectory1", "dest":"destinationDirectory1"}, {"source": "sourceDirectory2", "dest":"destinationDirectory2"}, {"source": "sourceDirectory3" "dest":"destinationDirectory3"}, ]; for (var i = 0; i < dirs.length; i++){ fs.mkdir(dirs[i], function(err){ if(err){ console.log(err); }else{ copyFiles(dirs[i], filesInEachDir); } }); } function copyFiles(dirs, files){ for (var c = 0; c < files.length; c++){ fs.copy(files[c], dirs.source, […]

使用recursion模式循环与node.js

一直试图使用node.js迭代通过城市数组,并对每个方向(我然后JSON.parse抽象驱动器时间)作出一个迭代的请求谷歌的方向。 我需要find一种方法来做到这一点,否则我只是要求一次从每个城市谷歌的所有信息。 我在http://tech.richardrodger.com/2011/04/21/node-js-%E2%80%93-how-to-write-a-for-loop-with-callbacks上find了一个很好的模式/但不能得到callback工作。 正如你所看到的,即时通讯使用“显示”function来testing相同的。 我的代码如下: var request = require('request'); var fs = require('fs'); var arr = ['glasgow','preston','blackpool','chorley','newcastle','bolton','paris','york','doncaster']; //the function I want to call on each city from [arr] function getTravelTime(a, b,callback){ request('https://maps.googleapis.com/maps/api/directions/json?origin='+a+'&destination='+b+'&region=en&sensor=false',function(err,res,data){ var foo = JSON.parse(data); var duration = foo.routes[0].legs[0].duration.text; console.log(duration); }); }; function show(b){ fs.writeFile('testing.txt',b); }; function uploader(i){ if( i < arr.length ){ show( […]

Mongoose save()不更新数据库文件中数组的值

我正尝试使用GUI更新集合(单位)中的文档,并且在更新之后,我想更新集合(用户)中的值(user.Units,它是单元名称的数组)。 如果数组长度只是1个元素,它会得到更新,并且也显示在数据库中,一切正常,但是当Array of Units有多个元素时,我尝试通过for循环更新它,它显示它被更新,但是当我检查数据库,它仍然没有更新。 我真的不知道为什么我更新数据库时,通过循环更新值。 整个编辑和更新function: – edit_unit: function (req, res, next) { var Data = req.body; Client_data.Unit.findById(req.params.unitId, function (err, unit) { var error = false; if (err) { error = err; } else if (!unit) { error = "FATAL: unable to look up Unit #" + req.params.unitId; } else { switch(req.body.name) { case 'Icon': […]