Articles of 字典

地图在javascropt /节点或另一个干净的方法

我有两个数组(模型和modelsErrors),我想映射reuslt并合并它们的方式,如果input如下: models=['user', 'employee', 'customers']; modelsErrors=['userError', 'employeeError', 'customersError']; 期望的输出应该是: Results=[{model: user, err: userError}, {model: employee, err: employeeError}, {model: customers, err: customersError}] 我想这是可以使用JavaScript的。 如果不是,我正在寻找一个像.map()函数干净的方式:我的尝试: models=['user', 'employee', 'customers']; modelsErrors=['userError', 'employeeError', 'customersError']; var results = models.map(function(model){ return {model: model, err: modelsErrors[model]} }) console.log(results); 我正在寻找一个干净的方式,如果地图是不可能的…请让我知道,如果你需要更多的澄清谢谢

JavaScript按属性值sorting字典

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

使用函数参数值作为字典键

尝试使用通过函数parameter passing的键来构build字典。 var progres_mark = function(progress_state) { var now = Date(); console.log({ progress_state : now }) } progres_mark("encode") 预期 { 'encode': 'Sun Oct 19 2014 18:22:33 GMT+0300 (IDT)' } 实际 { progress_state: 'Sun Oct 19 2014 18:22:33 GMT+0300 (IDT)' } 这是怎么回事?

如何在Redis商店客户端的键/值对中获取关键值?

我在我的socket.io聊天应用程序的Redis存储中存储用户名/套接字ID对。 当用户断开连接时,我需要从redis存储中删除用户名/ socketID对。 我已经看到如何从一个关键的价值获得价值,但从来没有一个关键。 可能吗? 或者任何一种方式,我怎么能删除键/值对只是值。 这是我的代码 用于添加到连接上存储 socket.on('username', function (username) { client.set(username, socket.id, function (err) { console.log(username + ":" + socket.id); }); }); 对于断开连接,客户端不知道什么时候会断开连接,可能由于互联网连接丢失而发生,但是当套接字断开连接时,它总是碰到“断开连接”事件。 在这种情况下,我需要删除用户名/套接字ID对。 socket.on('disconnect', function () { // dont know the username?? client.del(username, socket.id, function (err) { if (err) console.log(err); else { socket.disconnect(); console.log(socket.id + " DISCONNECTED"); } }); });

词典词典及其在JavaScript中的翻译

考虑以下简单的HTML代码: <input id="dict_field" type="text"/> <button id="translate_btn" type="button" class="btn">translate</button> 用户input一些东西,然后点击button触发一个返回翻译的函数。 和JQuery代码: $(document).ready(function(){ $('#translate_btn').click(function(){ var word = $('#dict_field').val(); var translation = ""; translation = translate(word (, dictionary?)); // For simplicity for now just display the result in the same input field $('#dict_field').val(translation) }); }); // pseudo code. How to implement this and build the dictionary I need? […]

通过这个node.js字典获得值的关键

我正在使用这个node.js收集模块。 http://www.collectionsjs.com/ 我想从字典中获得价值的关键。 这是我的代码; "use strict"; var Dict = require("collections/dict"); var Data_type = new Dict( { "00": "DATA_NOT", "01": "DATA_SENSOR", "02": "DATA_SENSOR2", "03": "DATA_SENSOR3", }); 从钥匙中获得价值很简单。 Data_type.get("00"); 将返回DATA_NOT 。 但是,我在获得价值的钥匙方面遇到了问题。 最好,我想做一些像Data_type.getKey("DATA_NOT"); 并返回"00" 。 欢迎任何其他方法。

JavaScript地图对象是否被索引来优化map.get?

在V8的幕后,JavaScript-Map-object的键以某种方式build立索引,以优化map.get方法? 或者map.get()只是简单地遍历整个地图,直到发现一个关键匹配? 我对map.get的500,000个以上键/值对的较大映射的效率感兴趣。 我有这么多的映射,我只想caching在内存中,而不是查询数据库的密钥已经索引的快速检索。 在我看来,查询RAM而不是数据库会更快,如果Map对象的键在某种程度上在后台索引。 抽象: function randomUniqueThing() { // returns (magically) a unique random: // string, number, function, array or object. } var objMap = new Map(); var count = 0; var thing1,thing2; while(count < 500000) { thing1 = randomUniqueThing(); thing2 = randomUniqueThing(); objMap.set(thing1, thing2); count++; } var lastValue = objMap.get(thing1); // Will getting […]

结合两个字典:JavaScript中的perl“hashrefslice”语法?

我有单独的configuration文件,因为其中包含密码和其他敏感数据,我不介意世界看到。 所以我们说我有: sensitivedata = { password : 'foobaz', hostname : 'quux' }; globalconfig = { timeout : 86400, port : 5190 }; 我希望globalconfig有字段password和hostname 。 我可以这样做: globalconfig.hostname = sensitivedata.hostname; globalconfig.password = sensitivedata.password; 但是当有很多领域时,这是很乏味的。 作为一名perl程序员,我想要做这样的事情: @{ $globalconfig }{ keys %{ $sensitivedata } } = @{ $sensitivedata }{ keys %{ $sensitivedata } }; # or … @{ $globalconfig […]

用于C#的类似V8的哈希表?

我正在编程一个公寓和房屋租赁网站。 由于不会有超过10'000个物业出租,把所有物品都存入记忆体是没有问题的。 现在,当用户想要search特定的一个,他可以定义非常多的价格,房间,自动扶梯等filter。 每个属性都有一组非常不同的属性。 一个属性可能具有另一个属性不具有的属性。 所以,在C#中创build一个具有所有属性的类,而仅使用其中一些属性对我来说不是一个好主意。 我决定使用一个字典来代替。 稍后的一些基准testing中,我发现,Dictionary作为一个类访问属性的速度要慢大约40倍。 我也做了一个node.js的基准,它只是用对象作为字典。 这是非常有趣的,因为node.js中完全相同的程序比使用本地类的C#示例执行得更好。 其实我得到了以下结果: C#字典:〜820ms C#类:〜26ms Node.js对象:〜24ms 每个基准都按照相同的标准search1000万个物体。 我知道,由于Google的V8引擎,Node.js版本非常快。 你知道是否有一个C#类使用与V8引擎类似的技术,并获得几乎相同的性能? C#字典基准 namespace Test { class Program { static void Main(string[] args) { PropertyList p = new PropertyList(); long startTime = DateTime.Now.Ticks; for (int i = 0; i < 100; i++) { p.Search(); } Console.WriteLine((DateTime.Now.Ticks – startTime) / 10000); […]

在ESLint中replace按位操作

我试图应用这个代码: 如何通过点击Leaflet map (包含位运算符“<<”) 来获取tile的XYZ坐标 。 在运行它的环境(NodeJS,ExpressJS,AngularJS)中,代码在编译时由ESLint检查,但是我需要在链接上给出的解决scheme。 编译时出现这个错误。 意想不到的使用'<<'没有按位 根据这个链接: http ://eslint.org/docs/rules/no-bitwise – ESLint不允许按位运算符。 有没有办法绕过这个规则,如果没有,提供一个替代的计算,产生类似的结果按位操作“<<”? 我希望我的问题很清楚,谢谢。