想要将数组存储为 JavaScript 映射中的值

Want to store array as value in javascript map

本文关键字:映射 JavaScript 数组 存储      更新时间:2023-09-26

我想创建一个映射,其中键是字符串,值是数组,如下所示。如何在映射中将带有键的数组存储为字符串

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];
}

你可以在JavaScript中使用map((集合

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 

演示

除了创建数组之外,将它们存储在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];
}