Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在JS文件中创建HashMap(在JQM中)_Jquery_Jquery Mobile - Fatal编程技术网

Jquery 如何在JS文件中创建HashMap(在JQM中)

Jquery 如何在JS文件中创建HashMap(在JQM中),jquery,jquery-mobile,Jquery,Jquery Mobile,我正在使用JQuery mobile开发一个移动应用程序。想知道我是否可以像在JAVA、JQuery Mobile中那样创建HashMap 如果是的话,怎么办?如果可能,请提供一些示例。Javascript(EcmaScript 5)目前只有对象和数组。将引入地图和集合,但在它获得足够广泛的支持以有效使用它之前,还有很长的路要走 您可以使用普通对象,在大多数情况下,它的行为类似于Java Hashmap // initialisation var o = { key:"value", "anot

我正在使用JQuery mobile开发一个移动应用程序。想知道我是否可以像在JAVA、JQuery Mobile中那样创建HashMap

如果是的话,怎么办?如果可能,请提供一些示例。

Javascript(EcmaScript 5)目前只有对象和数组。将引入地图和集合,但在它获得足够广泛的支持以有效使用它之前,还有很长的路要走

您可以使用普通对象,在大多数情况下,它的行为类似于Java Hashmap

// initialisation
var o = { key:"value", "another key", 3};
// or
var o = {};
o.key = "value";
// access property
alert(o.key);         // dot-notation
alert(o["key"]);      // bracket notation, same as array[i]
// delete property
delete o.key;

如果密钥是一个有效的标识符,您不需要引用它,也可以使用点表示法轻松访问它,如果不是(保留关键字或其中的空格或…),则需要使用双引号或单引号引用它,并使用括号表示法对其进行寻址

在纯Javascript中,可以创建非常类似于java HashMap的内容:

var hashmap = {};
把东西放进去:

hashmap['key'] = 'value';
从中得到一些东西:

var value = hashmap['key'];
在大多数情况下,这都可以,但它与hashmap并不完全相同,例如,请参见以下问题:

用JavaScript动态创建地图的一种简单方法是使用以下方法

我正在使用包含html元素id的数组创建一个映射。最后,我想把html元素ID和值放在地图的键值对中

var selectedFilterValuesMap = {};

for (var i = 0; i < filterIdArray.length; i++) {        
    selectedFilterValuesMap[filterIdArray[i].trim()] = $("#"+filterIdArray[i].trim()).val();
}

JS对象类似于关联数组,也类似于Java中的HashMap。取决于您的要求。在应用程序启动时,我想从服务器获取一些数据,并将其保存为key:value格式,然后在需要时,我将传入密钥以获取相应的值。这可以从我应用程序中的任何位置调用。这可以通过使用关联数组来实现吗?谢谢Erik,这真的帮助了我:)@Erik-如何获得这个hashmap的长度?我想稍后再循环。@Zoran777:知道地图的长度是无法迭代的。您需要这样的东西:for(var-key-in-map){document.write(key+“:“+map[key]+”
”);希望这对您有所帮助。
for(var x in selectedFilterValuesMap){
    alert("key - "+x+"\n val - "+selectedFilterValuesMap[x]);
}