我有一张地图,其中包含键值对,如下所示:
map =
{
"sha512-T9JWj==": [
"mykey1597855209",
"mykey159785520915978552101597855212"
],
"sha512-lcddfd==": [
"mykey15978552091597855210"
],
"sha512-abcdfd==": [
"otherkey15978552091597855210"
]
}
我想获取第一个键并将其传递给另一个函数func1
。
同样,我想获取与该键关联的所有值并传递给第二个函数func2
。
该映射可以具有任意数量的键值对,但是我只想捕获前10个键值对。
我能够使用以下命令捕获所有键和值:
console.log(Object.keys(map));
console.log(Object.values(map));
我如何遍历地图并获取第一个键,并将其传递给func1
并将其值传递给func2
?我只需要捕获first 10 keys
相应的值。
1) Get only 10 keys and values from the the map object
2) Loop through first key value pair
3) Pass key to `func1`
4) Pass all values associated with the key to `func2`
5) Repeat `4` and `5` until all `10` keys are read
Ordering
并不重要
根据定义,地图实际上没有任何排序。您可以从地图中检索所有条目,并选择返回的前10个条目,但是对于如何返回条目并没有保证的顺序。
const entries = Object.entries(map).slice(0,10);
for (const [key, values] of entries) {
func1(key);
for (const value of values) {
func2(value);
}
}
或者,以更实用的风格
Object.entries(map).slice(0,10).forEach(([key, values]) => {
func1(key);
values.forEach(value => func2(value));
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句