如何在没有forEach的情况下迭代Javascsript映射?

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

[如何在不使用Map的情况下遍历javascript forEach(所以我可以在中间使用break,或者有一种从breakforEach的方法吗?由于顺序有时是随机的,因此无法使用对象在某些Map顺序已定义的浏览器上。

let map = new Map();
map.set(1,'google.com');
// very long list
map.set(12312,/[^a-z]+/);

let match = 'nothing';
for(let z in map) { // doesn't work, but works for object
  if( foo.match(z) ) {
    match = map.get(z); // map[z]; on object
    break;
  }
}

我发现的最近的东西是使用.keys()

let iter = map.keys();
while(!iter.next().done) {
  if(foo.match(iter.value)) {
    match = map.get(iter.value);
    break
  }
}
javascript loops dictionary break
1个回答
2
投票

使用for-offor-of提供三个迭代器:

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