Tag: 数组

创build.json文件的代码片段不起作用

我有这个代码,它的东西是,我需要它从该网站获取一些数据,string在apiurl 。 这段代码需要下载这些网站,在json中find一些appids。 它需要下载这些网站上的数据并将它们存储在一个json文件中。 由于某种原因,这是行不通的。 我有一个.js文件中的这段代码: var gamekeys = JSON.parse(fs.readFileSync('gamekeys.json')); var jsonstring = JSON.stringify(gamekeys, null, 4); UpdateGamePricelist(); function UpdateGamePricelist() { for(var i = 0;i<gamekeys.keys.length;i++) { appid = gamekeys.keys[i].appid; var apiurl = "http://store.steampowered.com/api/appdetails?appids="+appid; if (i < 95) { request(apiurl, function(err, response, body) { if (err) { console.log("Error when updating game prices: " + err+"\n"); return; } […]

如何将用逗号分隔的纯文本更改为节点中的数组?

我有这个文本作为我的post标签: car,phone,apple,node,php 我想转换成一个数组,像这样: ["car","phone","apple","node","php"] 然后保存到我的MongoDB数据库。 我怎么能做到这一点在我的server.js代码?

NodeJS:比较一个数组的每个元素与所有其他元素与asynchronous过程?

我正在使用Resemble.js比较我的web应用程序中的图像。 我得到了一系列的图像(url)。 我想比较图像与数组中的每个其他图像,并计算该图像的唯一分数。 例如。 [url1,url2,url3,url4]所以最小的组合是 1 => 2 1 => 3 1 => 4 2 => 3 2 => 4 3 => 4 但是,我也需要存储相反的组合值(尽pipe它们将是相同的)例如。 1 => 2将与2 => 1相同 问题我如何运行循环的东西 for (var i = 1; i<=arr.length; i++) { for (var j = i+1; j <=arr.length; j++) { console.log(i + " => " + j); //async […]

MongoDB通过nodeJS中的索引来更新文档的数组元素

如何在Meteor或nodeJS中增加一个MongoDB文档数组的特定元素的值? 说,我有以下文件: { "_id" : "4tP6ewe4Z5kwYA3Je", "name" : "chutia", "address" : "shonir akhra", "itemCount" : "4", "items" : [ "3", "4", "13", "24" ] } 我需要增加items数组的第n个元素。 其中n是一个variables。

readline数据被推入后,数组为空

我正在尝试编写一个程序,我需要从一个文件行逐行读取数据,使用Array.push()将数据逐行存储在一个数组中。 我正在阅读使用readline npm软件包的文件。 但是,当我试图在遍历整个文件后调用数组时,它显示了一个空数组。 var fs = require('fs'), readline = require('readline'), stream = require('stream'); var instream = fs.createReadStream('sample.txt'); var outstream = new stream; outstream.readable = true; outstream.writable = true; function printArray(ArrayVar){ console.log(ArrayVar); } function AddText(InputStream){ var Text = new Array; var rl = readline.createInterface({ input: instream, output: outstream, terminal: false }); rl.on('line',function(line){ Text.push(line); }); return […]

如何运行promise数组

在这个函数中,在内联数组完成之前调用callback函数。 我只能在内联具有所有的值时才能调用它? function inlineSearch( search, callback ) { const inline = [] mal.quickSearch( search ).then( response => { response.anime.forEach( anime => { anime.fetch( ).then( json => { inline.push( replyInline( json ) ) }) }) .then( callback( inline ) ) } ) } response.anime是一个json对象数组,指向另一个json对象,这就是为什么我需要获取它,所以我可以有正确的json。 而且, replyInline是一个只接受json并返回另一个的函数。 mal =我的动漫列表API

数组在Nodejs和MongoDB中用forEach循环返回null值

我使用Nodejs,MongoDB和Express编码。 下面的代码在MongoDB中查找具有特定ID的用户对象。 一旦find用户对象,它将检索该对象的collections属性。 favorite属性是一个数组,其每个元素都是一个产品的_id。 我试图循环这个数组。 每个循环,我尝试从MongoDB中检索一个产品对象,并将这个产品对象附加到新的数组(在我的代码下面,它被称为“列表”)。 我把一些console.log()来检查列表的值。 它对每个循环都有价值,但是最后当我得到最后一个时,它是空的。 我知道问题发生,因为我没有正确使用deferred.resolve和deferred.promise。 请帮我解释deferred.resolve和deferred.promise在代码中的作品。 非常感谢你 function showBasket(user) { var deferred = Q.defer(); var list =[]; db.users.findById(user, function (err, user) { if (err) deferred.reject(err); if (user) { var favorite = user.favorite; favorite.forEach(function(e){ db.products.findById(mongo.helper.toObjectID(e), function(err, product){ if (err) deferred.reject(err); if (product) { list.push(product); console.log(list);// list has value here } })//end db.products.findById […]

将javascript对象与内部数组结合在一起(类似于foriegn键)

Obj1 = [ { 'id':1, 'name':'apple' }, { 'id':2, 'name':'mango' } ] Obj2 = [ { 'parentId' : 1, 'time': [1,2,3] }, { 'parentId' : 1, 'time': [4,5,6] }, { 'parentId' : 1, 'time': [7,8,9] }, { 'parentId' : 2, 'time': [11,12] } ] result = [ { 'id':1, 'name':'apple', 'time': [1,2,3,4,5,6,7,8,9] }, { 'id':2, […]

在对象数组中find需要的元素的最佳方法

我有我的class的对象的数组。 我的类有variables的名称是唯一的每个对象创build。 现在,我想查找名称为“test”的数组中的对象。 我想尝试像创build第二个数组与名称作为元素,当我在我的第一个数组中创build新的对象创build第二个数组中的对象,以便他们共享索引号。 像这样的东西: arrayOfObjects.push(new obj("test")); arrayOfNames.push("test"); function findIndexNumberOf(name){ for(var i = 0; i < arrayOfNames.length; i++){ if(arrayOfNames[i] === name) return i; } } 但我认为这是相当强大的解决scheme,所以我想知道有没有更好/更聪明/更快的方式做到这一点。

查找与顺序无关的嵌套数组的完全匹配

假设这些数据: { "_id" : ObjectId("594d43d1da7887921c701575"), "hashSets" : [ { "data1" : [ "2bf2cededea424f47d64d33c511dd431", "40499da7ee1456a2f79dc39a718aaf9b" ], "data2" : [ "b068931cc450442b63f5b3d276ea4297", "16ebd6af0cadece819da7468a9fd79f4", "8717cfca734e8987971f63b20eeb8024" ] }, { "data1" : [ "098F6BCD4621D373CADE4E832627B4F6", "5A105E8B9D40E1329780D62EA2265D8A", "AD0234829205B9033196BA818F7A872B" ], "data2" : [ "8AD8757BAA8564DC136C1E07507F4A98" ] } ], "__v" : 0 } 我正在尝试查询“hashSets”上的完全匹配,但“hashSets”数组中对象的顺序可能不同,并且数据数组中哈希的顺序可能有所不同。 我发现这个post有点类似: MongoDB查找精确数组匹配,但顺序无关紧要 虽然使用$ size和$ all是有道理的,但我不太清楚如何将它应用于嵌套的数组/对象。 我正在使用这个简单的查询,但似乎命令必须是相同的: db.analysis.find({hashSets:input.hashSets}) 编辑:为了清晰起见: input.hashSets = [ { […]