js 对象List 转Map
时间: 2024-04-29 21:21:12 浏览: 10
可以使用 JavaScript 中的 Map 对象来实现将对象列表转换为 Map。下面是一个示例代码:
```javascript
let list = [
{id: 1, name: 'John'},
{id: 2, name: 'Mary'},
{id: 3, name: 'Peter'}
];
let map = new Map();
for(let obj of list) {
map.set(obj.id, obj);
}
console.log(map);
```
输出结果:
```
Map(3) {
1 => {id: 1, name: "John"},
2 => {id: 2, name: "Mary"},
3 => {id: 3, name: "Peter"}
}
```
在上面的代码中,我们首先创建了一个对象列表 `list`,然后创建了一个新的 Map 对象 `map`。接着使用 for 循环遍历对象列表,将每个对象的 `id` 作为键,整个对象作为值,存储到 Map 中。最后输出 Map 对象,可以看到已经成功将对象列表转换为了 Map。
相关问题
js 对象List 转Map 用lamda表达式实现
JavaScript中没有Map对象,但是可以用对象字面量来实现类似于Map的功能。
使用lambda表达式可以将一个对象列表转换为一个对象字面量,其中对象的属性将作为对象字面量的键,对象的值将作为对象字面量的值。
下面是一个示例代码:
```javascript
const list = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' }
];
const map = list.reduce((acc, obj) => {
acc[obj.id] = obj.name;
return acc;
}, {});
console.log(map); // { 1: 'Alice', 2: 'Bob', 3: 'Charlie' }
```
在上面的代码中,reduce函数用于将对象列表转换为一个对象字面量。初始值为一个空对象{},reduce函数的回调函数将每个对象的id作为键,将每个对象的name作为值,添加到累加器对象中。最终得到一个包含所有对象的id和name的对象字面量。
js map转list对象
要将JavaScript中的Map转换为List对象,可以按照以下步骤进行操作:
1. 创建一个空的数组,用于存储转换后的对象。
2. 使用for...of循环迭代Map中的键值对。
3. 在循环体内,获取每个键值对的键和值,并创建一个新的对象。
4. 将键值对中的键添加到新对象中。
5. 将键值对中的值添加到新对象中。
6. 将新对象添加到数组中。
7. 循环结束后,数组中将包含转换后的对象。
8. 返回数组作为结果。
下面是一个示例代码,展示了如何将Map转换为List对象:
```javascript
let map = new Map();
map.set(1, { name: 'John', age: 20 });
map.set(2, { name: 'Jane', age: 25 });
map.set(3, { name: 'Bob', age: 30 });
let list = [];
for (let [key, value of map) {
let obj = {};
obj.id = key;
obj.name = value.name;
obj.age = value.age;
list.push(obj);
}
console.log(list);
```
在上述代码中,首先创建了一个Map对象,并向其添加了几个键值对。然后,通过for...of循环遍历Map中的键值对,将其转换为新的对象,并将该对象添加到数组中。最后,输出数组作为结果。
请注意,上述示例中的map变量定义为一个Map对象,而不是一个普通的JavaScript对象。如果你的map变量是一个普通的JavaScript对象,请使用Object.entries(map)来迭代它的键值对。
是将Map转成List对象的示例代码。是将List转成Map对象的示例代码。并不是与问题相关的内容,所以不需要引用。