我想创建一个地图,其中key是字符串,value是一个数组,如下所示。如何在地图中存储一个字符串为字符串的数组
fruits : apple,orange,pineapple
countries:usa,uk,india,australia
cities:frankfurt,berlin,moscow
var map = new Object();
map['fruits'] = myObj1;
map['countries'] = myObj2;
map['cities'] = myObj2;
function get(k) {
return map[k];
}
答案 0 :(得分:1)
除了创建数组之外,将代码存储在map
对象中的代码也没问题。 (但请参阅下面的更简洁版本。)
这是更正后的数组初始化:
var fruits = ['apple', 'orange', 'pineapple'];
var countries = ['usa', 'uk', 'india', 'australia'];
var cities = ['frankfurt', 'berlin', 'moscow'];
var map = {}; // There's no reason to use `new Object()`
map['fruits'] = fruits;
map['countries'] = countries;
map['cities'] = cities;
function get(k) {
return map[k];
}
这三行:
map['fruits'] = fruits;
map['countries'] = countries;
map['cities'] = cities;
也可以写成:
map.fruits = fruits;
map.countries = countries;
map.cities = cities;
但是你的代码可以更加简洁:
var map = {
fruits: ['apple', 'orange', 'pineapple'],
countries: ['usa', 'uk', 'india', 'australia'],
cities: ['frankfurt', 'berlin', 'moscow']
};
function get(k) {
return map[k];
}
答案 1 :(得分:0)
您可以在javascript中使用 map() collection
var myObj1 =[" apple","orange","pineapple"]
var map = new Map();
map.set("fruits", myObj1); // to set the value using key
alert(map.get("fruits")); // to get the value
<强> DEMO 强>