我正在尝试根据时间(毫秒)对包含 Id 和 Time 的数组进行排序。
Map.sort(function(a,b){return a.Time-b.Time});
for (keys in Map) {
multi.hgetall(Map[key].id+':List');
}
multi.exec(function(err,data){
res.send(data);
});
它不显示任何数据。该数组中有 3 个 ID。
最佳答案
我不知道你的代码中的 res
是什么。即使您将变量命名为 keys
,您也会在这句话中获得数组索引:
for(keys in Map){...}
尝试这样的事情,使用 forEach
迭代器:
Map=[{'id':'a', 'Time':90}, {'id':'c', 'Time':30}, {'id':'b', 'Time':66}]
Map.forEach(function(item){
console.log(item);
multi.hgetall(item.id + ':List');
});
multi.exec(function(err, data){
console.log('data', data);
});
如果 a:List
、b:List
和 c:List
键存在于您的 redis 数据库中,它应该打印一些数据。
关于node.js - 如何使用 Redis 数据库根据以毫秒为单位的时间对 node.js 中的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13083472/