当前位置:首页 > JavaScript

map实现js

2026-04-05 16:30:06JavaScript

使用 map 方法遍历数组

map 是 JavaScript 数组的高阶函数,用于遍历数组并对每个元素执行回调函数,返回一个新数组。原数组不会被修改。

const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6]

回调函数的参数

map 的回调函数接收三个参数:

  • 当前元素
  • 当前索引
  • 原数组
const numbers = [1, 2, 3];
const mapped = numbers.map((num, index, arr) => {
  return `${index}: ${num} (from array ${arr})`;
});
console.log(mapped);
// ["0: 1 (from array 1,2,3)", "1: 2 (from array 1,2,3)", "2: 3 (from array 1,2,3)"]

处理对象数组

map 可以用于转换对象数组中的属性:

const users = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' }
];
const names = users.map(user => user.name);
console.log(names); // ["Alice", "Bob"]

链式调用

map 可以与其他数组方法链式调用:

const numbers = [1, 2, 3, 4];
const result = numbers
  .filter(num => num % 2 === 0)
  .map(num => num * 10);
console.log(result); // [20, 40]

注意事项

使用 map 时需注意:

map实现js

  • 必须显式使用 return 语句返回新值(除非使用箭头函数简写)
  • 回调函数应是纯函数,避免副作用
  • 稀疏数组中的空位会被跳过,但保留在结果数组中
const sparse = [1, , 3];
const mapped = sparse.map(x => x * 2);
console.log(mapped); // [2, empty, 6]

标签: mapjs
分享给朋友:

相关文章

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

js 实现图片轮播

js 实现图片轮播

基础实现方案 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS负责样式布局,JavaScript处理轮播逻辑。 <div class="…