Tag: 数组

更高效/更聪明的方式,以特定的方式对multidimensional array进行分组/压缩

我有一个多维的数组,我不知道它的大小,我知道的是每个孩子将有相同的长度和相同的结构。 我需要连接第一个孩子的内部数组与同胞的内部数组,所以所有孩子相同的索引内部数组在一个数组中。 (如果有人想说得更好一些,或者改进标题,那就成为我的客人吧) 例: let arrays = [ //1 [[1, 2], [3, 4], [5, 6]], //2 [[10, 20], [30, 40], [50, 60]], //3 [[100, 200], [300, 400], [500, 600]], //N [[10000, 20000], [30000, 40000], [50000, 60000]], ]; 预期结果: [ [1, 2, 10, 20, 100, 200, 10000, 20000], [3, 4, 30, 40, 300, 400, 30000, 40000], […]

Javascript散列(node.js)

我有一个哈希访问键(我在Node.js编程,如果重要的话)的麻烦。 返回状态和回复时,我有一个callback: client.metadata(folder, options, function(status, reply){ //console.log(reply) console.log(reply) console.log("New hash: " + reply['hash']); }); 问题是,reply ['hash']返回undefined。 即使reply.hash是未定义的。 我怎样才能访问散列键回复? 我logging回复,它是: { "hash": "e533d2c19d236d0d4f84e2a9666659e1", "revision": 802, "rev": "32203a97cb5", "thumb_exists": false, "bytes": 0, "modified": "Wed, 04 Jan 2012 02:39:18 +0000", "path": "/foo", "is_dir": true, "icon": "folder", "root": "dropbox", "contents": [], "size": "0 bytes" } 但是当我像上面的例子那样访问hash时,它是: 新的哈希:未定义

Node.js:读取文件并将string作为数组放入数组中

我正在做一些项目,我需要阅读一些文件,并把数组分割(用\ n – 新行)string作为数组。 这意味着读取文件的输出与fs.readFileSync(filepath, 'utf8').split('\n'); 是string,我需要将其转换为数组,但有问题,因为我不知道如何。 有一些input数据的例子: [[164,17567,160,[]],[166,8675,103,[]], [[164,17567,160,[]],[166,8675,103,[]], [[164,17567,160,[]],[166,8675,103,[]], [[164,17567,160,[]],[166,8675,103,[]] 我试图把它与循环,但我不能把它从string转换成数组,不知怎的,输出变成这样: "[[164,17567,160,[]],[166,8675,103,[]]", "[[164,17567,160,[]],[166,8675,103,[]]", "[[164,17567,160,[]],[166,8675,103,[]]", "[[164,17567,160,[]],[166,8675,103,[]]"

什么删除真的意味着在数组中的NodeJS?

阅读这个问题的答案我明白, delete设置元素的undefined值。 所以,如果我们有一个数组: a = [1, 2, 3] (至less)在客户端使用delete a[1] ,数组将变为[1, undefined x 1, 3] 客户端 。 在NodeJS中会发生什么? 但在NodeJS(服务器端)上testing相同的操作我得到以下内容: $ node > a = [1, 2, 3] [ 1, 2, 3 ] > delete a[1] true > a [ 1, , 3 ] > a[1] = undefined undefined > a [ 1, undefined, 3 ] […]

Nodejs:如何用javascript中的其他字符replace数组中的某些字符

说我有一个这样的数组: ['test\\test1\\test2\\myfile.html', 'test\\test1\\test2\\myfile2.html'] 我只想用“/”replace所有的“\”字符,并将其存储到一个新的数组中,以便新数组看起来像这样: ['test/test1/test2/myfile.html', 'test/test1/test2/myfile2.html'] 我怎么能这样做?

在mongoose中sorting一个嵌套的数组

我有一个PlaylistShemaarrays或音乐。 在这个音乐arrays中,我有一个ObjectId (参考Music集合),一个addedAt和一个title 。 PlaylistShema var PlaylistSchema = new Schema({ title: {type : String, default : '', trim : true}, user: {type : Schema.ObjectId, ref : 'User'}, musics : [{ musicId : {type : Schema.ObjectId , ref : 'Music'}, title : {type : String}, addedAt : {type : Date, default : Date.now} }], tags : […]

find一个Mongodb文件,如果它包含数组中的一个元素在mongoose

如果我在有一个数组的MongoDB文档中有一个字段,例如: "tags" : [ "tag", "etc1", "etc2", "etc3" ] 如果包含元素“etc1”,我可以select该文档吗? 如果我尝试使用查询: db.coll.find({"tags" : { $elemMatch: { value0: 'etc1'} }}) 但是我需要知道数组中元素的位置,这是我不知道的。 我也试过了: db.coll.find({"tags" : { $elemMatch: 'etc1' }}) 但它需要成为一个对象。 有没有办法做到这一点? NB我正在使用mongoose,但我不知道如何构build查询

节点数组包含“对象”而不是实际的JS对象

我意识到这个问题的标题是尴尬的select,如果有人提出build议,我会很乐意把它改成更具描述性的,我只是不知道如何描述它。 我有这一点的JavaScript代码,这是创build一个json对象包含一个数组标签旅行。 这个数组中的每个对象都包含一个标记为节点的数组,我希望这个数组包含一个行程的所有特定节点。 var json = {origin: data.origin.name, destination: data.destination.name, trips: []}; for (var i = 0; i < data.trips.length; i++) { var departure = data.trips[i].dep.time; var arrival = data.trips[i].arr.time; var trip = {departure: departure, arrival: arrival, nodes: []} for (var j = 0; j < data.trips[i].legs.length; j++) { trip.nodes.push({test: 'test'}); } json.trips.push(trip); } 结果看起来像这样。 […]

Mongoose用$ in查找数组

Team.find({ '_id': { $in: [ teamIds ] } }, function(err, teamData) { console.log("teams name " + teamData); }); 这个代码给了我们undefined回来..但在var teamIds是这样的: 545646d5f5c1cce828982eb7, 545646d5f5c1cce828982eb8, 54564af5c9ddf61e2b56ad1e, 54564c1f1de201782bcdb623, 54564d2fc660a7e12be6c7a2, 54564df985495f142c638f9f, 54564eadb511f1792c9be138, 54564ec40cf6708a2cd01c81, 54564ee495f4aea22cf23728 有人看到错误吗?

如何在自定义模式中切片数组?

我有这个数组: var x = [1,2,3,4,5,"a","b","c",9,10]; 我想将这个数组切分成这种模式: var x = [[1,2,3],[2,3,4],[3,4,5],[4,5,"a"],[5,"a","b"],["a","b","c"],["b","c",9],["c",9,10]]; 我使用了下面的代码,并能够得到[[1,2,3],[4,5,"a"],["b","c",9],[10,11,12]] 。 但是这对我不起作用。 我需要得到上面的模式。 var stream = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; var x = ["a", "b", "c"]; var ad_time = 6; var result = []; var ad_index = stream.indexOf(ad_time); if (~ad_index) { for (var i = 0; […]