Underscore.js _.indexBy函数
Underscore.js 是一个 JavaScript 库,它提供了许多有用的功能,即使不使用任何内置对象,也可以在很大程度上帮助编程,如地图、过滤器、调用等。
_.indexBy()函数用于为列表中的每个元素返回一个键,然后返回一个带有每个项目索引的对象。它根据参数中的给定属性给出结果。此外,它类似于 groupBy()函数,但每个项目在开始时都有一个索引。传递的数组必须具有唯一的属性(需要作为参数传递的属性)。如果属性不是唯一的,则输出将是匹配的最后一个元素。
参数:此函数接受三个参数,如上所述,如下所述:
- List:此参数包含项目列表。
- Iteratee:此参数用于保存测试条件。
- Context:此参数用于显示内容。
返回值:返回值是元素及其索引(在参数中传递的属性)。
将数组直接传递给 _.indexBy()函数: _.indexBy()函数从列表中一一获取元素,然后将其与它们的索引一起显示在结果中。在遍历并显示所有元素以及索引后,排序依据函数结束。然后通过执行 console.log() 来显示元素。
例子:
HTML
HTML
HTML
HTML
输出:
将具有多个属性的数组传递给 _.indexBy()函数:将具有多个属性的数组(例如这里的 3 个属性)传递给 indexBy()函数,并仅将元素 1 与它们的索引一起显示。将根据参数中给出的属性选择索引,例如此处的属性是“prop2”。因此,“prop2”的值将作为结果中的索引给出。
例子:
HTML
输出:
将具有“日期”属性的结构传递给 _.indexBy()函数:首先,声明数组(这里数组是“订单”)。该数组包含一个属性作为“日期”,其日期格式为:“dd-mm-yy”。然后将数组和结构传递给 _.indexBy()函数。 Console.log 最终答案。
例子:
HTML
输出:
将具有 'true'/'false' 的数组作为属性传递给 _.indexBy()函数:声明一个具有一个属性为 'true'/'false' 的数组(如这里的 'people')。这是定义索引的属性,即现在,索引将是真或假。也不是因为这个属性有重复,因为有两个值:真,假,但有四个人。因此,只有最后一个具有 false (/true) 的元素将显示在结果中。
例子:
HTML
输出: