有什么方法可以将对象数组添加到 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
}
提前致谢!
我试图弄清楚,但完全没有运气..
从
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);