Tag: 数组

使用Javascript和Underscore.js,如何比较2个数组,如果匹配,则replace属性?

我有2个这样的数组: var arrayOne = [ {page:'1',tags:['foo','bar']}, {page:'2',tags:['oh','boy']} ]; var arrayTwo = [ {page:'1',tags:['go','out']}, {page:'9b',tags:['red','blue','green']} ]; 我想比较两个数组,如果page属性相同,则使用arrayOne中的tags属性replacearrayOne中的tags属性。 因此,考虑到上面的示例数组,只有arrayOne page: 1的arrayOne将被arrayOne page: 1的值arrayTwo 。 我想我可以用underscore.js做到这一点,但我正在努力看到如何。 想法?

数组variables修改node.js

我不明白为什么我的variables改变 if(chat.users[i + 1]) console.log("1: " + chat.users[i + 1].username); if(save[i+1]) console.log("2: " + save[i + 1].username); chat.users[i + 1] = save[i]; if(chat.users[i + 1]) console.log("3: " + chat.users[i + 1].username); if(save[i+1]) console.log("4: " + save[i + 1].username); 我有 1: test1 2: test1 3: test 4: test 我不明白为什么我没有 1: test1 2: test1 3: test 4: […]

为什么你不能返回一个对象到Javascript的Array.map(),它正确地映射它?

我有两个函数(它们是从一个更大的脚本,所以假设一切都被定义等) self.sentenceObjs很好,它返回一个完全像它应该做的对象self.parseBodySections由于某种原因将bodyJSON设置为一个数组undefined即使self.sentenceObjs返回完美的对象,因为我希望映射的dom数组。一些Array.map() ,我想念? self.parseBodySections = function(dom, cb) { var bodyJSON = dom.map(self.sentenceObjs); console.log(bodyJSON); // prints: [ undefined, undefined, undefined, undefined, undefined ] return cb(null, bodyJSON); }; self.sentenceObjs = function(section) { var paragraphToTextAndLinks = function(cb) { return self.paragraphToTextAndLinks(section.children, function(err, paragraphText, links) { if (err) { return cb(err); } return cb(null, paragraphText, links); }); }; return async.waterfall([ […]

用FS转换文件到数组

我有一个简单的“en.txt” "TITLE" => "Amazing title of my page" "COPYRIGHT" => "Copyright my site" "BLABLA" => "A amazing sentence" 我想用FS转换这个数组为nodeJS。 谢谢你的帮助。

查找具有较高项目但低于限制的对象的ID

我有一个JavaScript对象的数组,对象是这样的: smil .____.update (object) | |… | |____.stream (array) | |… | |____.playlist (array of object) |____.name (string) |____.scheduled |____… Scheduled是一个date,我已经做了一个函数来获取它的Date对象的forms。 现在,我需要find过去的smil.playlist中的对象的id(比新的Date对象差),并且更接近它。 在之前的版本中,我使用filter,sorting和popup来获取对象,但是随着应用程序结构的变化,我现在需要它的ID。 旧代码: function get_last_playlist(smilp){ //get current date time = new Date(); //Delete all of playlist which are in the future smilp.filter(function(element) { return time.getTime() > gettime(element.scheduled).getTime(); }); //Sort by close to current time […]

JSON数据/方括号剥离

正在努力通过async.map合并来自多个数据源的数据。 然而,我有一个新的数据结构的问题,这是由多个文件组合成一个…每个logging周围的额外括号。 这是我正常的JSON文档格式如下: { "_id": "527b16584930484431f054be", "caption": "lucky", "created_time": "1383652572", "full_name": "kkelcie", }, { "_id": "527b16584930484431f054bd", "caption": "Me with all my friends on our day off work. ", "created_time": "1383798277", "full_name": "zeftodeathbitch" } 这是他的方式来自多个查询的新数据格式化: [ { "_id": "52799ef14930484431ed58ed", "caption": "☀", "created_time": "1383698900", "full_name": "andreSDFFSdfazapata" } ], [ { "_id": "5279a7514930484431ed6b2f", "caption": "Clear Lake", "created_time": "1375497332", […]

使用JavaScript将最新的数组索引存储在单独的数组中

我有一个对象的数组。 数组的键是使用.push()自动生成的。 有些对象可能会从数组中delete array[index]; 。 数组可能包含0到10K +条目中的任何内容。 这是声明和一些逻辑: var allClients = []; someFunction(client) { allClients.push(client); var callbackFunction = function() { var index = allClients.indexOf(client); try { delete allClients[index]; } catch (err) { console.error(err); } } } function getClientsMeetingCriteria(some_unique_id) { var filteredClients = allClients.filter(function(client) { return client.id_list.indexOf(some_unique_id) > -1; }); return filteredClients; } 现在上面的代码(它是IRL的非常简化的版本)适用于100-300个客户端,但是对于500+的目的而言,它变得太慢了。 问题是getClientsMeetingCriteria()可能asynchronous每秒调用10次。 我需要设置与some_unique_idcaching作为关键。 […]

将自定义types的数组传递给来自node-pg和SQL注入的postgres函数

CREATE TYPE phototable AS ( photoid integer, parentid integer, fileextension character varying(20), description text, tag character varying(100) ); CREATE FUNCTION addphotos( p_placeid integer , p_permissiontypeid integer , p_description text DEFAULT NULL::text , p_photos phototable[] DEFAULT NULL::phototable[]) BEGIN …….. END 我通过生成一个SQL查询从node.js(使用node-postres)调用这个函数。 我想避免它,并希望使用参数化查询,因为我认为这是不安全的SQL注入攻击。 我无法find一种方法将自定义types数组传递给node-postgres的查询方法。 有没有办法将自定义types数组传递给node-postgres的查询function? 查询: select * from addphotos(p_placeid:=2210, p_permissiontypeid:=2, p_description:='Party', p_photos:=array[row(null, null,'.JPG','smart','6e8f74b2-4c14-4f40-ae19-8abae026a539'), row(null, null,'.JPG',null,'c4e9f75f-25fa-4893-82f1-44c4791d58e5')]::phototable[]);

JavaScript正则expression式匹配只返回最后一场比赛

我有一个小的节点应用程序,需要一些input,应用正则expression式来提取一些信息,并应返回一个匹配数组。 所有这一切都很简单,但我所看到的行为是不可预料的。 我的理解是,如果我有多条线匹配这个正则expression式的input,那么每一行将是匹配返回数组中的一个元素。 不幸的是,它看起来像数组只包含最后一行的匹配组。 有没有一种方法来重写这个,而不是迭代通过input两次,以便我可以用每行匹配的数据填充嵌套数组? 将比赛组作为元素返回是非常好的,但是我需要为每一行做这个。 最终目标是将所有这些转换为下游应用程序的格式化JSON。 谢谢参观… 现在的代码 也可以在云9 IDE中进行实验。 var util = require('util'); var re = /(processed)(.*?)\((.*?)\)(.*?)([0-9]\.[0-9]+[0-9])/g; var data; var returnData = []; var Parser = function(input) { util.log("Instantiating Parser"); this.data = input; }; Parser.prototype.parse = function(callback) { util.log("In the parser"); this.returnData = re.exec(this.data); callback(this.returnData); } exports.Parser = Parser; 和一个testing文件: var Parser = […]

密钥128位,返回数组16位

我详细介绍了这个项目:我为mega.co.nz使用了一个PHP SDK,但是由于密码学的问题(prepare_key太慢了,偶尔会导致一个我形容为“false positive”的问题)为了login,经过多次testing(python,c ++,c#)没有经验,我在nodejs中发现了一个sdk,无法适应我的需求。 该SDK是https://github.com/tonistiigi/mega/和问题是下一个: Node.JS返回一个16字节的数组,而PHP返回4个字(每个4字节) 如何将数组转换为nodejs,否则返回? 对不起我的英语不好!!