如何一次在 Javascript 地图中设置多个值?

How do I set multiple values in a Javascript Map at once?

我这里有一个简单的逻辑链,其中 bigCities 是一个 Javascript 地图。在此示例中,d 表示从 csv 文件读取的数据数组中的每个对象。对于每个对象的城市 属性,我为其分配 d.pop 值(城市人口)。

bigCities.set(d.city, +d.pop)

如果我想一次设置多个值怎么办?代码看起来像这样吗:

bigCities.set(d.city, ["population": +d.pop, "latitude": +d.lat, "longtitude": +d.lng)

是否可以在 Javascript 映射中创建一个键值对,其中值是一个数据数组?如果是这样,我将如何正确编写上面的示例?

要在一个 Map 对象上设置多个键和值,您可以传递一个数组

let m = new Map([["a", [1,2,3]], ["b", [4,5,6]]]);

console.log([...m], m.get("a"))

我认为您要找的是一个具有三个属性的对象。您可以将城市设置为键,将类似的对象设置为 Map 中的值,方法如下:

bigCities.set(d.city, {"population": +d.pop, "latitude": +d.lat, "longitude": +d.lng});

然后,要再次阅读,您可以这样做:

let info = bigCities.get(d.city);
console.log(info.population);
console.log(info.latitude);
console.log(info.longitude);

希望您能识别语法:

{"population": +d.pop, "latitude": +d.lat, "longitude": +d.lng}

作为 Javascript 文字对象声明。这将创建一个包含三个 property/value 对的 Javascript 对象,您可以在其中按名称引用 属性。

const map = new Map();

    map.set("a", "alpha").set("b", "beta").set("c", "charlie");

    console.info(map); // Map(3) {'a' => 'alpha', 'b' => 'beta', 'c' => 'charlie'}