zoukankan      html  css  js  c++  java
  • [Javascript] Compare a Generator to Using Array Map and Filter

    Generators offer flexible alternatives to working with arrays and how you want to iterate through the data. While most scenarios are covered by the methods included on Arrays such as "map" and "filter", generators are great for covering complex scenarios when writing all your logic in map and filter functions might become difficult.

    let names = ["John", "Mindy", "Sally"]
    
    let result = names.filter(name => name.includes("y")).map(name => name.toLocaleLowerCase())
    console.log(result) // ["mindy", "sally"]
    
    // -- Generator --
    
    function* format(array: string[]) {
        for (let name of array) {
            if (name.includes("y")) {
                yield name.toLowerCase();
            }
        }
    }
    
    console.log([...format(names)]); //["mindy", "sally"]

    With Generator, we can do more control on result.

    let names = ["John", "Mindy", "Sally"]
    
    let result = names.filter(name => name.includes("y")).map(name => name.toLocaleLowerCase())
    console.log(result) // ["mindy", "sally"]
    
    // -- Generator --
    
    function* format(array: string[]) {
        for (let name of array) {
            if (name.includes("y")) {
                yield name.toLowerCase(); // ["mindy", "sally"]
                yield name.toUpperCase(); // ["mindy", "MINDY", "sally", "SALLY"]
                yield* array; // ["mindy", "MINDY", "John", "Mindy", "Sally", "sally", "SALLY", "John", "Mindy", "Sally"]
                yield 'END'; // ["mindy", "MINDY", "John", "Mindy", "Sally", "END", "sally", "SALLY", "John", "Mindy", "Sally", "END"]
            }
        }
    }
    
    console.log([...format(names)]);
  • 相关阅读:
    使用NPOI将多张图片导入execl
    Oracle计算时间差函数
    Oracle_spatial的函数介绍[转]
    FDO error:Failed to label layer(XXX) for class Default
    您属于哪个版本的程序员[转]
    关于oracle-12514错误的修改方法
    ArcGis在Oracle中常用的sql
    读取XML绑定TreeNode
    HTML中图片热区的使用
    如何查看目前正在使用的Windows10是哪个版本?
  • 原文地址:https://www.cnblogs.com/Answer1215/p/12168027.html
Copyright © 2011-2022 走看看