使用 JavaScript 从数组创建映射
Create a Map from an Array using JavaScript
要从数组创建 a Map
,请将包含键值对的二维数组传递给Map()
构造函数。Map
构造函数创建一个新的
并将Map
每个键值对添加到它。
索引.js
// ✅ from Array of ARRAYS const arr1 = [ ['name', 'Tom'], ['country', 'Chile'], ]; const map1 = new Map(arr1); console.log(map1); // 👉️ {'name' => 'Tom', 'country' => 'Chile'} // ✅ from Array of OBJECTS const arr2 = [ {key: 'name', value: 'Tom'}, {key: 'country', value: 'Chile'}, ]; const map2 = new Map( arr2.map(object => [object.key, object.value]) ); console.log(map2); // 👉️ {'name' => 'Tom', 'country' => 'Chile'}
在我们的第一个示例中,我们将包含键值对的二维数组直接传递给
Map()
构造函数。所有键值对都添加到新的Map
.
在第二个代码片段中,我们有一个对象数组。我们知道构造函数需要一个数组数组,所以我们必须以某种方式进行转换。
Map()
我们使用Array.map
方法遍历数组
。
我们传递给map
方法的函数被数组中的每个元素(对象)调用。
该
Array.map()
方法返回一个新数组,其中包含回调函数返回的值。在每次迭代中,我们返回一个包含对象的键和值的数组。
索引.js
const arr2 = [ {key: 'name', value: 'Tom'}, {key: 'country', value: 'Chile'}, ]; // 👇️ [ ['name', 'Tom'], ['country', 'Chile'] ] const twoDimensionalArr = arr2.map( object => [object.key, object.value] ); console.log(twoDimensionalArr)
现在我们有一个可以传递给Map()
构造函数的数组数组。