将数组中的对象添加到 Map() Javascript/Node

问题描述 投票:0回答:1

有什么方法可以将对象数组添加到 Map() 中吗? 我想每次调用函数 add() 时从数组中添加用户名。

简单示例:

let localHashMap = new Map();
let arr = ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff']; // etc

function add(arrayNumber) {
    addToMap(arr[arrayNumber]);
}

function addToMap(username) {
    localMap.set('users', { 'user': username }); // <-- add? put? set?

    let obj;
    if (localHashMap.has('users')) {
        obj = localHashMap.get('users');
    }
    //Then i will use a loop to get the results 
    
    console.log(obj);

    //Output example
    //{ user: fff }
    //{ user: ddd }
    //{ user: aaa }
    //etc
}

提前致谢!

我试图弄清楚,但完全没有运气..

javascript node.js
1个回答
0
投票

Map
中获取数组;如果不存在,则将其初始化为空数组。然后将新项目推入数组。

let localHashMap = new Map();
let arr = ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff']; // etc

function add(arrayNumber) {
  addToMap(arr[arrayNumber]);
}

function addToMap(username) {
  let users;
  if (localHashMap.has('users')) {
    users = localHashMap.get('users');
  } else {
    users = [];
    localHashMap.set('users', users);
  }
  users.push({user: username});

  console.log(users);
}

add(3);
add(5);
add(2);

© www.soinside.com 2019 - 2024. All rights reserved.