如何一次在 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'}
我这里有一个简单的逻辑链,其中 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'}