当前位置:首页 > jquery

jquery map

2026-04-08 01:19:20jquery

jQuery .map() 方法详解

jQuery 的 .map() 方法用于遍历数组或对象集合,并对每个元素执行回调函数,最终返回一个新的 jQuery 对象或数组。它类似于 JavaScript 的原生 Array.prototype.map(),但专为 jQuery 对象设计。

基本语法

$.map(array, callback)
$(selector).map(callback)

参数说明

  • array:待处理的数组或类数组对象。
  • selector:jQuery 选择器选中的元素集合。
  • callback:处理每个元素的函数,接收两个参数:
    • element:当前处理的元素或值。
    • index:当前元素的索引(可选)。

返回值

  • 返回一个新数组或 jQuery 对象,包含回调函数处理后的结果。

使用示例

示例 1:处理数组

const numbers = [1, 2, 3, 4];
const squared = $.map(numbers, function(num) {
  return num * num;
});
// 结果: [1, 4, 9, 16]

示例 2:处理 jQuery 对象

<ul>
  <li>Apple</li>
  <li>Banana</li>
</ul>
const texts = $('li').map(function() {
  return $(this).text();
}).get();
// 结果: ["Apple", "Banana"]

示例 3:过滤数据

通过返回 nullundefined 过滤不需要的值:

const mixed = [1, 2, null, 4, undefined];
const filtered = $.map(mixed, function(val) {
  return val ? val * 2 : null;
});
// 结果: [2, 4, 8]

与原生 map() 的区别

  1. 返回值处理

    jquery map

    • jQuery .map() 自动扁平化嵌套数组。
    • 原生 map() 严格返回与原始数组长度相同的数组。
  2. 参数顺序

    • jQuery .map() 回调参数顺序为 (element, index)
    • 原生 map() 回调参数顺序为 (currentValue, index, array)
  3. 上下文绑定

    jquery map

    • jQuery .map() 回调中 this 指向当前元素(DOM 对象)。
    • 原生 map() 回调中 this 默认指向 undefined(除非绑定)。

性能注意事项

  • 对于纯数组操作,原生 map() 通常更快。
  • 对 DOM 集合操作时,jQuery .map() 更便捷,无需手动转换。

常见问题

如何将结果转为纯数组?

使用 .get() 方法:

const arr = $('div').map(...).get();

如何跳过某些元素?

回调中返回 nullundefined

$('div').map(function() {
  return $(this).hasClass('skip') ? null : this.id;
});

标签: jquerymap
分享给朋友:

相关文章

jquery官网

jquery官网

jQuery 官网信息 jQuery 的官方网站是 jQuery.com,提供最新的 jQuery 版本下载、文档、教程和插件资源。 官网主要功能 下载 jQuery:提供压缩版(minifie…

jquery插件库

jquery插件库

jQuery插件库推荐 jQuery插件库提供了丰富的扩展功能,帮助开发者快速实现常见的前端交互效果。以下是一些常用的jQuery插件库和资源: 1. 官方jQuery插件注册中心jQuery Pl…

jquery和vue的区别

jquery和vue的区别

核心设计理念 jQuery是一个基于DOM操作的轻量级JavaScript库,主要用于简化HTML文档遍历、事件处理、动画设计等任务。它采用命令式编程风格,需要手动操作DOM元素。 Vue是一个渐进…

jquery 滑块

jquery 滑块

jQuery 滑块实现方法 使用 jQuery 实现滑块功能可以通过多种方式完成,包括使用原生 jQuery 或结合插件(如 jQuery UI)。以下是几种常见实现方法: 使用 jQuery UI…

jquery 上传

jquery 上传

jQuery 文件上传方法 使用 jQuery 实现文件上传可以通过多种方式完成,以下是常见的几种方法: 使用原生表单和 AJAX 创建一个包含文件输入的表单,并通过 jQuery 的 AJAX…

jquery动画

jquery动画

jQuery动画基础 jQuery提供了多种动画方法,用于创建平滑的过渡效果。常用的动画方法包括animate()、fadeIn()、fadeOut()、slideUp()和slideDown()。…