Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有forEach的情况下迭代Javascsript映射? 如何在JavaScript map < /COD>不使用前缀(这样我就可以在代码中中断中间,或者有一种方法可以从前缀 破译?不能使用对象,因为在某个浏览器上有时是随机的,其中 map < /Cord>排序被定义。< /P> 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; } }_Javascript_Loops_Dictionary_Break - Fatal编程技术网

如何在没有forEach的情况下迭代Javascsript映射? 如何在JavaScript map < /COD>不使用前缀(这样我就可以在代码中中断中间,或者有一种方法可以从前缀 破译?不能使用对象,因为在某个浏览器上有时是随机的,其中 map < /Cord>排序被定义。< /P> 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; } }

如何在没有forEach的情况下迭代Javascsript映射? 如何在JavaScript map < /COD>不使用前缀(这样我就可以在代码中中断中间,或者有一种方法可以从前缀 破译?不能使用对象,因为在某个浏览器上有时是随机的,其中 map < /Cord>排序被定义。< /P> 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; } },javascript,loops,dictionary,break,Javascript,Loops,Dictionary,Break,我找到的最接近的东西是使用.keys() 使用。提供三个迭代器: 对于它们的条目,作为[key,value]数组提供。这是映射的默认迭代器,也可以通过entries()方法获得 对于它们的键:keys() 对于其值:values() 下面是一个循环遍历条目的示例,将它们分解为key和value常量: for (const [key, value] of map) { // `key` is the key of the entry, `value` is the value if

我找到的最接近的东西是使用
.keys()

使用。提供三个迭代器:

  • 对于它们的条目,作为
    [key,value]
    数组提供。这是映射的默认迭代器,也可以通过
    entries()
    方法获得

  • 对于它们的键:
    keys()

  • 对于其值:
    values()

  • 下面是一个循环遍历条目的示例,将它们分解为
    key
    value
    常量:

    for (const [key, value] of map) {
        // `key` is the key of the entry, `value` is the value
        if (/*...some condition...*/) {
            break;
        }
    }
    
    (不过,您不必解构,您可以对(映射的常量条目)使用
    ,然后对键使用
    entry[0]
    ,对值使用
    entry[1]
    。)

    或循环键:

    for (const key of map.keys()) {
        // ...
    
    或用于循环值:

    for (const value of map.values()) {
        // ...
    

    将默认迭代器应用于示例代码:

    let map = new Map();
    map.set(1,'google.com');
    // very long list
    map.set(12312,/[^a-z]+/);
    
    let match = 'nothing';
    for (const [key, value] of map) {
      if (foo.match(key)) {
        match = value;
        break;
      }
    }
    

    哇,这对我来说是新的,我最后一次学习javascript大约是12年前XD@Kokizzu-嘿,自2015年以来发生了很多变化。:-)巧合的是,我写了一本关于这些变化的书,它涵盖了从ES2015到ES2020(以及一些ES2021)中添加的所有内容。如果您感兴趣,请在我的个人资料中添加链接。快乐编码!
    let map = new Map();
    map.set(1,'google.com');
    // very long list
    map.set(12312,/[^a-z]+/);
    
    let match = 'nothing';
    for (const [key, value] of map) {
      if (foo.match(key)) {
        match = value;
        break;
      }
    }