想要将数组存储为javascript地图中的值

时间:2014-12-18 08:45:15

标签: javascript jquery

我想创建一个地图,其中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];
}

2 个答案:

答案 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