javascript - JavaScript ES2015 上 map 的第一项

标签 javascript dictionary ecmascript-6

我有一个像这样的 map :

const m = new Map();
m.set('key1', {})
.
m.set('keyN' {})

map 可以有 1 个或多个项目。我可以通过索引获取第一个项目,而不使用 m.get('key1') 和迭代器循环吗?

如:m.get()[0]

最佳答案

使用Map.prototype.entries函数,像这样

const m = new Map();
m.set('key1', {})
m.set('keyN', {})

console.log(m.entries().next().value); // [ 'key1', {} ]

<小时/>

如果你想获得第一个 key ,那么使用Map.prototype.keys ,像这样

console.log(m.keys().next().value); // key1
<小时/>

同样,如果你想获取第一个值,那么你可以使用 Map.prototype.values ,像这样

console.log(m.values().next().value); // {}
<小时/>

我们必须对返回值调用 next() 的原因是,所有这些函数都返回 iterators 。了解有关迭代协议(protocol)的更多信息 here .

关于javascript - JavaScript ES2015 上 map 的第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32373301/

相关文章:

javascript - React ES6 组件模态 API

javascript - 将以前的值设置为 reactjs 中的状态

javascript - 从 Sentry Javascript 显示/获取运行时、操作系统、设备上下文

javascript - 为什么这个 for-of 循​​环中的对象解构不起作用?

c# - 转换字典<int, List<User>>

python按自定义顺序排序字典列表

javascript - 与 RxJS 流冲突的条件语句

javascript - Promise 不会解析为 true 或 false

javascript - 不能以www开头的域名验证

c++ - 将文件中的信息提取到 map 中并需要覆盖重复值?