📜  下划线.js | indexBy() 与示例

📅  最后修改于: 2021-11-24 04:18:08             🧑  作者: Mango

Underscore.js 是一个 JavaScript 库,它提供了许多有用的功能,即使不使用任何内置对象,也可以在很大程度上帮助编程,例如映射、过滤器、调用等。
_.indexBy()函数用于为列表中的每个元素返回一个键,然后返回一个带有每个项目索引的对象。它根据参数中的给定属性给出结果。此外,它类似于 groupBy()函数,但每个项目在开头都有一个索引。传递的数组必须具有唯一属性(需要作为参数传递的属性)。如果该属性不唯一,则输出将是最后一个匹配的元素。

参数:该函数接受上面提到和下面描述的三个参数:

  • 列表:此参数包含项目列表。
  • Iteratee:该参数用于保持测试条件。
  • Context:该参数用于显示内容。

返回值:返回值是元素及其索引(在参数中传递的属性)。
将数组直接传递给 _.indexBy()函数: _.indexBy()函数从列表中一个一个地获取元素,并在结果中显示它及其索引。在遍历并显示所有元素以及索引后,sort By函数结束。然后只需通过执行 console.log() 来显示元素。

例子:

HTML

    
        
    
    
        
    


HTML

    
        
    
    
        
    


HTML

    
        
    
    
        
    


HTML

    
        
    
    
        
    


输出:

将具有超过 1 个属性的数组传递给 _.indexBy()函数:将具有多个属性的数组(例如这里的 3 个属性)传递给 indexBy()函数,并仅显示元素 1 x 1 及其索引。索引将根据参数中给出的属性进行选择,例如这里的属性是“prop2”。因此,’prop2′ 的值将作为结果中的索引给出。

例子:

HTML


    
        
    
    
        
    

输出:

将带有 ‘date’ 属性的结构传递给 _.indexBy()函数:首先,声明数组(这里的数组是 ‘orders’)。该数组包含一个属性作为“日期”,其日期格式为:“dd-mm-yy”。然后将数组和结构传递给 _.indexBy()函数。 Console.log 最终答案。

例子:

HTML


    
        
    
    
        
    

输出:

将带有 ‘true’/’false’ 的数组作为属性传递给 _.indexBy()函数:声明一个数组(如这里的 ‘people’),其中一个属性为 ‘true’/’false’。这是定义索引的属性,即现在,索引将是真或假。也不是因为这个属性中有重复,因为有两个值:真、假,但有四个人。因此,只有最后一个具有 false (/true) 的元素才会显示在结果中。

例子:

HTML


    
        
    
    
        
    

输出: