Tag: 数组

尝试匹配两个数组中的值,并且只有在部分值完全匹配时才会删除

我收到两个IP地址arrays,格式不同。 IP数组中的任何值都应该从地址数组中删除,但只有在IP匹配的情况下。 我写了下面,但问题是,例如,192.168.0.1将匹配192.168.0.11,然后删除地址数组,这是不是一个有效的结果192.168.0.11。 地址数组需要以与接收到的格式相同的格式返回。 请帮忙吗? 🙂 var addresses = [{ Value : '192.168.0.11' }, { Value : '52.210.29.181' }, { Value : '52.210.128.97' } ]; var IPs = ['192.168.0.1', '52.210.128.97']; console.log('Before:', addresses); for (var x = 0; x < IPs.length; x++) { for (var key in addresses) { var address = JSON.stringify(addresses[key]); if (address.indexOf(IPs[x]) > […]

卡住Javascript数组,节点

我在JavaScript /节点非常新,我被困在一个问题,我必须find素数。 我认为我的逻辑是正确的,但它正在产生额外的数字。 这里是代码现在我正在使用数组从2到100.谢谢你提前 var num = [2]; for (var i = 3; i < 101; i++){ num.push(i); } for(i = 0; i <= num.length; i++){ for(var k = 2; k <= i; k++){ if( (num[i] % k) == 0){ num.splice(i, 1); } } } var fs = require('fs'); var outfile = "hel.txt"; fs.writeFileSync(outfile, num);

如何删除数组中的所有空数组

我有这样的resultant array , [["apple","banana"],[],[],[],["kiwi"],[],[]] 我怎样才能删除所有的空[] array以便我的resultant array看起来像这样: [["apple","banana"],["kiwi"]]; var array = [["apple","banana"],[],[],[],["kiwi"],[],[]];// sample array

如何使用js将空数组保存到mongodb中

基本上我得到了我的应用程序运行,但我坚持一个问题:如果我传递一个包含一个空数组要保存的对象,该数组不会保存到数据库。 我不知道这是在js或mongo驱动程序中的问题,但为了保存空数组,我需要传递数组,如下所示: products: [''] 。 这是我的mongo文档的结构: _id: ObjectId(…), name: 'String', subcategories: [ { subcategory: 'string', products: [ { name: 'string' price: integer } ] } ] 所以在我的前端,我通过ajax调用将新对象推入子类别数组来获取整个文档。 新对象如下所示: {subcategory:'string', products:['']} 这工作正常,直到我需要在数组中插入一个新的对象:因为我抓住了整个对象,推新对象到数组,前一个看起来像这样: {subcategory: 'string'} 在这个过程中,失去了对products:[]数组的提及。 我怎样才能解决这个问题? 我需要能够在我的对象中有空的数组。 编辑 我在前端做了什么:用$.get返回了整个对象: var obj = _id: ObjectId(…), name: 'String', subcategories: [ { subcategory: 'Subcategory1', products: [ { name: 'string' […]

postgresql中的两个嵌套连接和数组join

我以前从来没有问过这个问题,我总是通过search最终偶然发现自己正在寻找的东西,但这里有很多事情要做,而且我的search能力已经到了尽头了……谢谢你的帮助/build议。 问题 我需要随时生成报告,说明我的组织中有多less“学生”已经进行了每个“评估”,以及与每个“评估”相关的标准。 学生总数提前计算并存储在assessment_report中 报告行需要join“评估”才能显示信息 标准有次级标准,但评估只知道次级标准。 评估有多个子标准,并将它们存储在一个ID数组中。 我试图以最高性能的方式做到这一点,最大限度地减lessPostgres的负载,但我不相信我已经实现了这个目标… 安装程序 服务器:运行Ubuntu的Amazon EC2 应用程序(服务器): Node.js(0.10.26) 应用程序(客户端): Angular.js(1.2.13) 数据库(查询): PostgreSQL(9.3.1) 数据库(Cache): MongoDB (希望将来可以caching报表) 表格 SQL FIDDLE 评估 _id int4 description text category varchar(60) sub_standards int4 ARRAY … assessment_report (预先计算的总和) assessment_id(FK) int4 client_id(FK) int4 students int4 completed int4 incomplete int4 … sub_standards _id standard_id(FK) int4 description varchar(255) … 标准 […]

Node – callback函数停止处理大数组

我在node.js应用程序中处理大约28,000个相当大的对象的数组。 出于某种原因,当我在数组中超过10,000个项目时,这个数据处理任务的最后一个模块是不会被调用的 – 它只是挂在最后。 如果我将数组拼接到大约1或2千个对象,那么它就可以完美地工作。 我很迷茫 我一直在盯着这个bug。 我最初认为这是一个q的错误,但在尝试提出的解决schemeq和replace与asynchronousq,执行仍然停止。 代码基本如下所示: main.js var task1 = require('task1'); var buggyTask = require('task2'); var notCalledTask = require('task3'); return task1().then(buggyTask).then(notCalledTask); buggyTask.js module.exports = function(items) { var updateOrInsertData = function(item) { return Q(Item.create(item)); }; return Q.all(items.map(updateOrInsertData)); }; 我应该补充一点,该程序绝对不是内存不足。 我用–max-old-space-size=4096运行它

在app.locals中保存的值数组在使用时会丢失数组格式。 这里发生了什么?

我正在创build一个date值的数组,并将其保存在一个app.localsvariables中,如下所示: prepDataList.forEach(function(item){ var str = item.createdAtDate.toDateString(); //str = str.substring(4, 10); labelsArray.push(str); countsArray.push(item.radarCount); }); app.locals.chart1LabelsArray = labelsArray; app.locals.chart1CountsArray = countsArray; console.log("App locals labels array: ", app.locals.chart1LabelsArray); console.log()结果如下所示: App locals labels array: [ 'Thu Mar 26 2015', 'Fri Mar 27 2015', 'Sat Mar 28 2015', 'Sun Mar 29 2015', 'Mon Mar 30 2015' ] 所以app.locals.chart1LabelsArrayvariables似乎被正确地存储为一个数组。 现在,在我看来(或者说我的视图中的一个脚本标签),如果我调用这个variables,它似乎并不保留它的数组格式。 对象的types只是[Object […]

插入包含大型数组的密钥时,Firebase推送非常缓慢

Heyhou 我试图从JSON文件中读取数据的Node.js服务器以JSON格式添加一些3D模型(build筑物)到Firebase。 我正在使用push()在buildings下添加一个键。 var buildingsRef = new Firebase('https://test.firebaseIO-demo.com/buildings'); buildingsRef.push({ … }); 不幸的是,推动是非常缓慢的,大约需要。 30秒将JSON插入Firebase。 JSON对象如下所示: { geometries: { vertices: […], faces: […], normals: [….] }, materials: { }, object: { }, metadata: { } } 几何对象包含用于顶点,面,法线,UV等的数组。根据3D模型的复杂性,这些数组可能具有多达10'000个条目或更多。 我不确定是否大的JSON本身(磁盘上的文件大约是2Mb),或者数组表示是缓慢插入Firebase的原因。 我怀疑这与Firebase内部代表数组的方式有关。 有没有什么办法来优化这个? 我喜欢将整个build筑物存放在一个密钥下,所以如果build筑物被更换(通常由服务器端),我可以检查应用程序的末端。 我不需要修改单个数组,我只是希望能够用另一个replace一个build筑物,并让我的前端进行相应的更新。 谢谢你的帮助!

如何使用node.js将大数组写入.txt文件?

我想,明显的解决scheme是fs.writeFile。 但是这个问题的答案表明我应该使用Stream技术。 我目前正在尝试这个代码,以通过将其转换为数组从文本文件中删除一行: var index = randomIntFromInterval(1, unfinished_searches.length-1); // remove index unfinished_searches.splice(index, 1); fs.truncate('unfinished_searches.txt', 0, function() { var file = fs.createWriteStream('unfinished_searches.txt'); file.on('error', function(err) { /* error handling */ }); unfinished_searches.forEach(function(v) { file.write(v.join(', ') + '\n'); }); file.end(); }) 这会返回以下错误: TypeError: undefined is not a function join这一行: unfinished_searches.forEach(function(v) { file.write(v.join(', ') + '\n'); });

我如何有效地从服务器上一秒钟抽出数据?

我有一个10,000 x 10,000的二维布尔数组生活在一个Node.js服务器上的variables。 这个数组不断发展并随机变化,用户可以在www.example.com:3000地址上select和修改(或仅查看)100×100的部分。 我目前使用AJAX调用来获取这个数组的片段的JSON,但是我开始意识到这些调用不够快,有时调用将只是挂断,或者根本不会返回,特别是如果有太多的用户。 我需要每秒执行大约100个呼叫。 我如何有效地拉数组切片? 有没有其他的select,或者我应该尝试优化AJAX调用?