Tag: 数组

从一系列收盘价(nodejs)计算EMA?

我有一组股票(历史数据)的每日收盘价格,格式如下: var close = [39, 40.133, 38.23, …. , 45.38] 这些是按照时间顺序排列的。 我正在尝试制作一个EMA(指数移动平均值)的收盘价格数值,以便按照时间顺序与date相关联。 我在nodejs中做这个; 任何帮助将不胜感激! PS这是我试过的东西: var gauss = require('gauss'); var test = [39, 40.133, 38.23, 45.38, 43.83, 42.1, 48, 47, 44.12, 44.33, 46.9]; var vec = test.toVector(); var ma = vec.ema(10); console.log(ma); // Outputs [ 43.2123, 43.88279090909091 ] 为什么输出这个?

下划线_.find当它存在时,没有find数组中的元素

我试图使用Underscore.js libarary的findWhere函数有效地从node.js服务器上的数组中find一个对象,我不明白为什么它总是返回undefined。 我使用节点控制台testing了该函数,并且该对象definetely包含具有指定键的对象,但在使用findWhere时仍然不返回任何内容。 在这里,我确保我正在查找的“夹具”键的值确实等于我希望返回的对象中的匹配值: '55785f4e38bd12511018145d'==预测[0] .fixture; 真正 当检查在查找的数组中保留的值是什么时,我确认该值是否存在: 预测 [{fixture:'55785f4e38bd12511018145d'}] 检查我希望返回的值: 预测[0] .fixture '55785f4e38bd12511018145d' 运行findWhere查询返回undefined: var foundPrediction = underscore.findWhere(predictions,{fixture:'55785f4e38bd12511018145d'}); 未定义 我能想到的唯一原因是,这可能与铸造或可能是一个'==='在函数中返回false,但有什么办法,我可以findWhere按照需要返回对象,或将我不得不求助于使用for循环的手动search? 提前致谢!

数组长度在node.js中

我有forms对象从angularjs返回节点js在控制台中看起来像这样, 对于两个文件, filenames : [object Object],[object Object] # filenames object for two files length: 2 # used object.length 对于一个文件, filenames : [object Object] # filenames object for one file length: undefined # used object.length 我是Node js的新手,有谁能解释我为什么这样? 编辑 ProfileController.js(客户端) var fd = new FormData() var filenames = $scope.postTextOrImageParams.imageUrl; for( var i = 0; i < filenames.length; […]

如何修改mongoDB中的子项

我有一个论坛post的集合,看(大致)像 { "author": author, "date": new Date(), "content": req.body.content, "comments":{ "deleted": 0, "author": author, "date": new Date(), "content": req.body.content } } 如果用户添加评论,则简单地推送到当前评论。 现在我想要删除一个特定评论的可能性。 我插入了“已删除”标志,以pipe理员身份查看评论,而不是完全删除它们。 但问题是:我如何告诉mongoDB哪个确切的评论我想删除? 我刚刚添加了一个“commentID”字段,但我不知道如何自动递增它(文档真的很奇怪),尝试了很多像“comments.toDeleteId”或“评论[toDeleteId]“。 TLDR:如何查询post“34563456354”,评论“5”,$设置“删除”为“1”,其中评论是一个数组本身? 谢谢 编辑 这是一个post的console.dir: {_id: //etc etc op: 'Anonymous', postContent: 'testtest', createdAt: //etc, comments: [ { deleted: 0, posted: //etc, author: 'Anonymous', comment: 'test' }, { deleted: 0, posted: […]

来自不同数组的不同值并在一个表中彼此相邻

所以,我正试图通过express(socket.io)&node.js从数组chanArrId&chanArrName中取出两个不同的数组值。 那么一旦我把它们放在同一排的一张桌子上E:G <tr class="exe"> <td>SIP/487-00000060</td> <td>0000000001</td> </tr> <tr class="exe"> <td>SIP/488-00000060</td> <td>0000000002</td> </tr> 然后为下一个集合取一个新的行,为以下通道值做同样的操作。 当我添加另一个拉下两个没有重复自己。 我已经有了某种成功,但总是落后于一个错误的定位或重复的价值观。 我有一个价值,但不是两个都工作得很好: 呼叫分机488:将频道名称和值添加到数组中的页面 工作的第一个工作正常,如在顶部看到它的工作盛大然后我得到以下时,我添加了第二对值: <tr class="exe" id="exe"> <td>SIP/487-00000060</td> <td>1445964898.228</td> <td>1445964898.2281445964900.229</td> </tr> 它跳过SIP名称,然后在下一行添加两个通道ID。 下面是最新的代码已经调整,看看已经试图完成。 客户端 socket.on('sipname', function (data,datad) { var sipname = ''; var sipid = ''; $(".exe").remove(); for (i = 0; i < data.length; i++) { sipname += data[i]; if (sipname) […]

如何发送一个对象数组到AngularJS?

简短的版本 我想知道如何将NodeJS中的对象数组发送到AngularJS中的应用程序。 var players = [ Footer: { username: 'Footer', hp: 200, exp: 1 }, Barter: { username: 'Barter', hp: 200, exp: 1 } ]; 我试图用很多方式发送它,但是我总是会在AngularJS端收到一个空的数组。 扩展问题 在服务器上,我将新用户分配给arraysplayers 。 我想finduser object传递username作为数组的一些索引。 我已经成功地使用.push方法来完成它,但是它没有提供使用索引访问它的方法。 所以,我已经开始使用括号表示在我的数组上创build对象,之后使用这个访问: //players.push(user); //This does work, but won't be indexed. var username = user.username; //This is the new user object. players[username] = user; //Using […]

比较两个数组的检测删除和添加元素

有两个数组, One -> ["A","B","C","D"] Two -> ["A","E","H","D"] 我需要检查数组的细节。 我提到数组一是现有数据(在更新之前),数组二是更新数据(在更新数组之后)。 我需要找出哪些数据进入该数组(数组二),哪些数据从该数组(数组一)中删除。

arrays在拼接后不会改变它的数据。 范围问题?

我有一个tcp服务器,我将所有客户端数据存储在客户端arrays。 所以当有人断开我只是拼接他们。 clients.splice(clients.indexOf(socket), 1); 我有一个function,显示所有在线用户。 这只是从该客户端arrays获取数据,并显示给我。 function showOnline(){ console.log("Show user list"); console.log("clients.length = " + clients.length); } 客户端数组在app.js文件的顶部宣布 var clients = []; <- here it is var http = require('http'); var net = require('net'); 所以现在当客户端断开我拼接他,并收到这样的日志。 console.log("clients.indexOf(socket) = " + clients.indexOf(socket)); console.log("clients.length = " + clients.length); clients.splice(clients.indexOf(socket), 1); console.log("after splice clients.length = " + clients.length); LOG […]

使用数组对象增加数组元素名称数量的值

我有一个多个对象的数组,我希望按照_id顺序减lessqty的值。 这是我的努力: funcs.updateOrder=function(request, reply){ Order.update({ "order._id" : request.payload.orderid }, { "$set" : { "$inc":{"order.$.qty" : {qty:request.payload.qty}}, "order.$.reason" : request.payload.reason, } }, function(err) { if(err){ reply(err).code(500); } else{ reply({"message":"success"}); } }); }; 这是我的mongodb模式: { "_id": "57206feb05a533ac0f84447e", "createdAt": "2016-04-27T07:53:15.108Z", "updatedAt": "2016-04-27T07:53:15.108Z", "orderno": "ORDER-NO-04-2016-2", "order": [ { "qty": -1, "model": "56dd2a2adcb3dde8067906dc", "vendorname": "57079f50182dd95c16c2d790", "partname": "57206ddd566d86580ec2d480", "make": "56dd2a29dcb3dde80679062e", "_id": […]

node.js从jquery ajaxparsing数组

我正在创build一个应用程序,将从jQuery的Ajax发送数组,这里是我的代码: Ember.$.ajax ({ type:"PUT", url:"http://localhost:3000/ids/", data: { ids:[29,12,43], }, dataType: 'json', }); 这是我的node.js代码: router.put('/ids/', function(req, res) { var data = req.body; console.log(data); console.log(data.ids); }); 结果是: {'ids []':['29','12','43']} 未定义 我也尝试遍历它,但代码: for (var key in data) { if (data.hasOwnProperty(key)) { console.log(key + " -> " + data[key]); } } 也不行。 在这种情况下我能做些什么?