Articles of sorting

错误的基于名称属性的对象数组

我有一个包含状态和名称属性的对象数组。 我想要使​​用他们的name属性使用下面的代码: array = array.sort(function(a,b){ return a.name – b.name }); 但是它不会返回正确的sorting数组。 这里有一个片段,你可以看到它的行动: var array = [{"name":"whoopsie","status":"active"},{"name":"acpid","status":"active"},{"name":"apache2","status":"active"},{"name":"apparmor","status":"active"},{"name":"apport","status":"active"},{"name":"avahi-daemon","status":"active"},{"name":"bluetooth","status":"active"},{"name":"cron","status":"active"},{"name":"cups","status":"active"},{"name":"cups-browsed","status":"active"},{"name":"dbus","status":"active"},{"name":"grub-common","status":"active"},{"name":"irqbalance","status":"active"},{"name":"kmod","status":"active"},{"name":"lightdm","status":"active"},{"name":"lvm2-lvmetad","status":"active"},{"name":"lvm2-lvmpolld","status":"active"},{"name":"apache-htcacheclean","status":"active"},{"name":"network-manager","status":"active"},{"name":"networking","status":"active"},{"name":"postfix","status":"active"},{"name":"procps","status":"active"},{"name":"resolvconf","status":"active"},{"name":"rsyslog","status":"active"},{"name":"smartmontools","status":"active"},{"name":"smbd","status":"active"},{"name":"speech-dispatcher","status":"active"},{"name":"ssh","status":"active"},{"name":"thermald","status":"active"},{"name":"tlp","status":"active"},{"name":"udev","status":"active"},{"name":"ufw","status":"active"},{"name":"lvm2-lvmpolld","status":"inactive"},{"name":"mysql","status":"active"},{"name":"alsa-utils","status":"inactive"},{"name":"x11-common","status":"inactive"},{"name":"apache-htcacheclean","status":"inactive"},{"name":"avahi-daemon","status":"inactive"},{"name":"console-setup.sh","status":"inactive"},{"name":"cryptdisks","status":"inactive"},{"name":"cryptdisks-early","status":"inactive"},{"name":"cups-browsed","status":"inactive"},{"name":"grub-common","status":"inactive"},{"name":"hwclock.sh","status":"inactive"},{"name":"kerneloops","status":"inactive"},{"name":"keyboard-setup.sh","status":"inactive"},{"name":"laptop-mode","status":"inactive"},{"name":"lvm2","status":"inactive"},{"name":"lvm2-lvmetad","status":"inactive"},{"name":"anacron","status":"inactive"},{"name":"network-manager","status":"inactive"},{"name":"nmbd","status":"inactive"},{"name":"plymouth","status":"inactive"},{"name":"plymouth-log","status":"inactive"},{"name":"pppd-dns","status":"inactive"},{"name":"prometheus","status":"inactive"},{"name":"rsync","status":"inactive"},{"name":"samba","status":"inactive"},{"name":"samba-ad-dc","status":"inactive"},{"name":"saned","status":"inactive"},{"name":"speech-dispatcher","status":"inactive"},{"name":"unattended-upgrades","status":"inactive"},{"name":"uuidd","status":"inactive"},{"name":"unattended-upgrades","status":"active"}]; array = array.sort(function (a,b) { return a.name – b.name }) console.log(array.map(function(i){ return i.name })) 这是输出: 我在nodejs中运行这个代码 [ 'whoopsie', 'unattended-upgrades', 'apache2', 'apparmor', 'apport', 'avahi-daemon', 'bluetooth', 'cron', 'cups', 'cups-browsed', 'dbus', 'grub-common', 'irqbalance', 'kmod', 'lightdm', 'lvm2-lvmetad', 'lvm2-lvmpolld', 'apache-htcacheclean', 'network-manager', 'networking', 'postfix', 'procps', […]

在Redis中存储事件时间表

我想在Redis的时间表中存储事件列表。 我正在考虑自1970年以来的sorting集,以秒为单位进行评分,允许快速查找和范围search。 问题是,我希望每个事件代表一个对象,用几个键(大概3个也许),所以我会存储一个有序的一组ID – 应用程序然后将查找基于ID的哈希。 所以谈话会是这样的: > ZRANGEBYSCORE events start end 1) "16" 2) "17" > HGETALL events:16 1) "key1" 2) "val1" … > HGETALL events:17 … 有没有更好的方法来组织或做一些事情,避免应用程序对每个结果单独调用。 一切都可以在redis服务器端完成,以避免这种开销? 这是一个大问题吗? PS。 我正在使用节点客户端,但我的问题也适用于其他语言。

mongoose嵌套/深填充

我知道这个问题已经被问了很多次,但是我对mongodb / mongoose是一种新的! 目前我正在为医疗软件开发一个MEAN栈。 以下是我的模式: var usersSchema = new Schema({ _id : {type : mongoose.Schema.ObjectId} //… }); mongoose.model('Users', usersSchema); var doctorsSchema = new Schema({ _id : {type : mongoose.Schema.ObjectId}, userid : {type : mongoose.Schema.ObjectId, ref : 'Users' }, //… }); mongoose.model('Doctors', doctorsSchema); var appointmentsSchema = new Schema({ _id : {type : mongoose.Schema.ObjectId}, doctorids : [ […]

NodeJS + Node-MongoDB-native:按字母顺序sorting对象

我想按字母顺序按“名称”参数sorting集合中的对象。 以下是我正在使用的代码: app.get('/companies', loadUser, function(req,res){ db.collection("companies",function(err,collection){ collection.find({}, { sort:[['name',-1]]},function(err, companies) { var companies_list = new Array(); companies.each(function(err, company){ … }); }) }); 实际上我不明白sorting参数的工作原理和-1是什么。 官方文件没有帮助我。 谢谢!

MongoDB parseError使用限制和sorting

我只是想在mongoDB中使用sorting和限制,但是我得到一个parseError,只有当我input的限制是很大的。 handCollection = db.collection('hands'); handCollection.count(function(err,res){numHands=res;console.log(numHands)}) //logs 12542 limit=10000 query= query.sort({gameNum:-1}).limit(limit) query.toArray(function(er,hands){ if (er) throw er console.log('Hands Sent:'+hands.length) res.send(JSON.stringify(hands)); )}; 此代码工作时设置限制为10000,但是当我设置限制= 12000,我会得到以下错误: Error: parseError occured at null.<anonymous> (C:\wamp\www\poker-tell\server\node_modules\mongodb\lib\mongodb\connec tion\connection_pool.js:182:34) at EventEmitter.emit (events.js:98:17) at Socket.<anonymous> (C:\wamp\www\poker-tell\server\node_modules\mongodb\lib\mongodb\conn ection\connection.js:389:20) at Socket.EventEmitter.emit (events.js:95:17) at Socket.<anonymous> (_stream_readable.js:746:14) at Socket.EventEmitter.emit (events.js:92:17) at emitReadable_ (_stream_readable.js:408:10) at emitReadable (_stream_readable.js:404:5) at readableAddChunk (_stream_readable.js:165:9) at Socket.Readable.push […]

在Node.JS中对数据进行sorting

我正在使用Node.JS和MongoDB。 我已经创build了一个CSV文件的报告,这是我的代码, function buildListCsvContent() { var array = []; var counter = 0; for (var i = 0; i < vm.student.length; i++) { var row = { No: counter + 1 , Registration_Number: "'" + student.registrationNumber.toString() , Name: student.firstName + ' ' + student.lastName } array.push(row); counter++ } } var args = { data: array […]

具有自定义方法的Node.js array.sort会导致RangeError:超出最大调用堆栈大小

所以,我有一个100,000+项目的数组,这一行导致它吹响了调用堆栈: @sortedList.sort (a, b) -> return if a.value > b.value then -1 else 1 我即将实施一个自定义的一些变种(build议,任何人?)来解决这个问题,但我只是想确保我没有做一些公然愚蠢的事情,导致它爆炸。

为Javascript数组sorting注入对象而不是函数

我正在尝试对javascipt中的对象进行sorting。 sorting顺序本身取决于两个因素:对象的属性和单个外部variables的值。 我知道我可以使用array.sort(sortFunction)来注入自定义函数,但我需要使用一个不同的函数,取决于外部variables(在sorting过程中是固定的)。 我把sorting减less到了最小的testing用例,它显示了问题并试图注入“降/升”参数,尽pipe真正的问题要复杂得多。 我知道我可以扭转()的结果,但这不是一个问题。 代码如下: var ar = [ 10, 3, 5, 17 ]; var ns = new nsort(); ar.sort(ns.sort); console.log(ar); function nsort() { this.desc = true; this.sort = function(a,b) { console.log(this.desc); if (this.desc) return ba; else return ab; } } 这里是输出(使用Node.js) undefined undefined undefined undefined [ 3, 5, 10, 17 ] 它看起来像数组sorting代码在sorting时提取父对象之外的function。 任何想法为什么会发生这种情况,以什么方式来做到这一点? […]

JavaScript按属性值sorting字典

我在下面显示的JavaScript中有一个字典样式的数组对象,并希望通过属性对它进行sorting。 这将如何完成? 我知道类似的问题已经得到解答,但我认为我的结构是不同的。 简单地运行array.sort(compare)不适合我,因为我没有索引整数。 谢谢! var myData = { "userOne": { "firstName": "Felix", }, "userTwo": { "firstName": "Bob", }, "userThree": { "firstName": "Anna", } } 我希望上面的数组myData按firstNamesorting,以便首先出现带有Anna的对象,然后是Bob ,接着是Felix 。 非常感谢!!

使用Javascript中的分层组sorting多维对象(Node.js)

我有一个分层的对象,我通过在父母身边走过,对孩子进行sorting来分类孩子。 这工作。 但现在,我需要select打破层次结构,并创build新的虚拟限制。 为了说明这一点,我们举一个有x个 Wifes的人的例子。 与每个妻子,他有孩子。 我可以根据每个妻子或每个人的妻子来分类孩子。 Man01 Wife01a Kid01aA Kid01aB Wife01b Kid01bC Kid01bD Man02 Wife02c Kid02cE Kid02cF Wife02d Kid02dG Kid02dH 让我们给他们的名字: Murphy Winnie Kurt Kara Wendy Klaus Klea Marley Wonda Kasper Kyra Wilma Kevin Karla 并考虑在他们的父母内按字母顺序sorting: Marley Wilma Karla Kevin Wonda Kasper Kyra Murphy Wendy Klaus Klea Winnie Kara Kurt 但是,现在我们想要把属于男人的孩子,一般的妻子,还是一般的孩子都分类出来? Marley Wilma Karla […]