Tag: 数组

nodeJs巨大的数组处理抛出RangeError:超过最大调用堆栈大小

这是进行大量条目的代码的一部分(最初是与文件系统一起工作,并且使用文件进行一些操作)。 有什么好的方法来绕过限制,并防止引发RangeError:超过最大调用堆栈大小 (至今,它允许我迭代大约3000项) var async = require('async') , _u = require('underscore') var tifPreview = function (item, callback) { console.log(item) return callback(); } var tifQueue = async.queue(tifPreview, 2) tifQueue.push(_u.range(0, 5000, 1))

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': […]

从节点中的parsing的csv文件构build对象数组

我有多个表单的CSV文件 model1A model1B model2A model2B 其中每个csv是一个数组即model1A = [1, 1, 1] 我想parsing这些csvs并创build一个包含所有这些模型的数组,其中数组中的每个元素都是一个对应于一个特定模型的对象,即 finalArray = [ { "model" : "model1", "A" : [1, 1, 1], "B" : [2, 2, 2] }, { "model" : "model2", "A" : [3, 3, 3], "B" : [4, 4, 4] } ] 我到目前为止的代码是 var csv = require('csv'); var fs = require('fs'); var […]

JavaScriptfilter首先等同于LINQ的Enumberable.First(谓词)

在C#中,我们有Enumerable.First(predicate) 。 鉴于这个JavaScript代码: function process() { var firstMatch = ['a', 'b', 'c'].filter(function(e) { return applyConditions(e); }).shift(); if(!firstMatch) { return; } // do something else } function applyConditions(element) { var min = 97; var max = 122; var random = Math.floor(Math.random() * (max – min + 1) + min); return element === String.fromCharCode(random); } 除了forEach ,使用循环,使用多个或操作符或隐式调用some(predicate) […]

在数组字段中查找匹配项

在我的图像共享应用程序中,您可以创build相册并向其添加图像。 从网站上删除图像时,也应该从存储对图像(名称,ID)的引用的专辑中删除。 我需要帮助的是find哪些相册存储了即将被删除的图像(引用)。 在下面的路线是我到目前为止,但我得到一个错误的查询。 我已经检查了Mongodb文档,语法如下所示: db.collection.find( { field : { $in : array } } ); 在我的路线领域和数组已经切换的地方,这似乎不工作。 我真的很感谢一些帮助。 提前致谢! 我的模型如下所示: var AlbumSchema = new Schema({ title : String, imageName : [String], <– array the contains of images names imageId : [String] <– array the contains of images id's }); modelObject.AlbumSchema = AlbumSchema; modelObject.Album = mongoose.model('Album', […]

javascript数组作为string列表(保留引号)

我有一个string的数组。 当使用.toString()输出时,引号不会被保留。 这使得使用“in”构buildmysql查询变得困难。 考虑以下: SELECT * FROM Table WHERE column IN ('item1','item2','item3','item4') toString is returning: IN (item1,item2,item3,item4) 必须有一个简单的修复,我在这里俯瞰。

Javascript中的元组列表

假设我收到一个包含有关人员信息的JSONstring。 现在我遍历所有的JSON对象,并提取名称和年龄或每个人。 我将如何将它们作为元组存储在列表中以供进一步处理? (例如通过另一个function)

在javascript中复制对象数组到另一个数组(深度复制)

使用slice(0)和concat()在javascript中将对象数组复制到另一个数组中不起作用。 我已经尝试了以下来testing,如果我得到预期的深拷贝使用这种行为。 但是,原来的数组也被修改后,我在复制的数组进行更改。 var tags = []; for(var i=0; i<3; i++) { tags.push({ sortOrder: i, type: 'miss' }) } for(var tag in tags) { if(tags[tag].sortOrder == 1) { tags[tag].type = 'done' } } console.dir(tags) var copy = tags.slice(0) console.dir(copy) copy[0].type = 'test' console.dir(tags) var another = tags.concat() another[0].type = 'miss' console.dir(tags) 我怎样才能做一个数组的深入副本到另一个,以便原始数组不会修改,如果我在副本数组中进行更改。

循环浏览文件夹中的文件Node.JS

我正在尝试循环访问目录中的文件,但是我在实现它时遇到了一些麻烦。 如何拉入多个文件,然后将其移动到另一个文件夹? var dirname = 'C:/FolderwithFiles'; console.log("Going to get file info!"); fs.stat(dirname, function (err, stats) { if (err) { return console.error(err); } console.log(stats); console.log("Got file info successfully!"); // Check file type console.log("isFile ? " + stats.isFile()); console.log("isDirectory ? " + stats.isDirectory()); });

在node.js中,为什么会有一个util.isArray和一个Array.isArray?

我刚刚注意到Node.js v0.10.26的API文档提供了util.isArray , util.isArray(object)#如果给定的“对象”是一个数组,则返回true。 否则为假。 var util = require('util'); util.isArray([]) // true util.isArray(new Array) // true util.isArray({}) // false 但是,那个不同的ecmascripts是如何正常的, Array.isArray ? > Array.isArray([]); true > Array.isArray(new Array); true > Array.isArray({}); false