javascript - jQuery 相当于 Prototype collect 和 map 函数?

标签 javascript jquery arrays prototypejs

jQuery 是否提供与 Prototype 中的“收集”和“映射”等效的迭代器函数?这些函数返回将迭代器应用于每个元素的结果:http://www.prototypejs.org/api/enumerable/collect

谢谢!

最佳答案

有一个“map()”但没有“reduce()”或“collect()”。在 jQuery 核心代码本身没有明显好处的情况下,jQuery 人员一直拒绝添加“reduce()”。

您可以从 Functional.js 中选取并扩展类似函数的简单实现。图书馆。

此外,请注意 jQuery“ map ”工具有几个有问题的功能,这些功能有时很方便,但在其他时候却很麻烦。具体来说,如您所料,传递给“map()”的回调函数返回结果数组的值。但是有两种特殊情况:

  1. 如果函数返回nullundefined,则nothing 被添加到结果数组;换句话说,它被解释为跳过该元素的请求。这使得很难有一个包含显式 null 条目的结果数组。
  2. 如果函数返回一个数组,则该数组被插值到结果数组中。换句话说,如果函数返回一个包含 10 个项目的数组,那么结果数组(即调用“map()”最终返回的数组)将增加 10 个新元素,而不是一个值为 10 个事物的数组的元素。

这两种食物有时都很方便,但在花了半天时间发现第二种食物后(是的,它被记录在案)我有一些痛苦的记忆:-)

关于javascript - jQuery 相当于 Prototype collect 和 map 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5809499/

相关文章:

javascript - JS - setAttribute() 不起作用

javascript - 如何翻译 SVG 及其所有子项

javascript - 在 Node.js 和 express-session 中更改和刷新 session 数据

javascript - Typescript 函数/对象参数

c# - 如何让浏览器后退按钮通过 AJAX 调用带你返回?

javascript - 在淡出效果完成后执行淡入的JQuery淡出函数到底是如何工作的?

javascript - 目录样式 URL 上的 PHP "Go to Parent Page"按钮

Java:用一个字符减去一个字符是什么意思?

ios - 如何在 swift 中按日期对对象数组进行分组?

javascript - React - 使用 Map 渲染对象数组