当前位置:首页 > JavaScript

js实现map

2026-02-01 02:31:04JavaScript

js实现map

实现 JavaScript 的 map 方法

JavaScript 的 map 方法用于遍历数组并对每个元素执行回调函数,最终返回一个新数组。以下是几种实现方式:

使用原生 Array.prototype.map

const arr = [1, 2, 3];
const newArr = arr.map((item) => item * 2);
console.log(newArr); // [2, 4, 6]

手动实现 map 方法

function customMap(array, callback) {
  const result = [];
  for (let i = 0; i < array.length; i++) {
    result.push(callback(array[i], i, array));
  }
  return result;
}

const arr = [1, 2, 3];
const newArr = customMap(arr, (item) => item * 2);
console.log(newArr); // [2, 4, 6]

使用 reduce 实现 map

function mapWithReduce(array, callback) {
  return array.reduce((acc, current, index, arr) => {
    acc.push(callback(current, index, arr));
    return acc;
  }, []);
}

const arr = [1, 2, 3];
const newArr = mapWithReduce(arr, (item) => item * 2);
console.log(newArr); // [2, 4, 6]

扩展 Array.prototype

Array.prototype.myMap = function(callback) {
  const result = [];
  for (let i = 0; i < this.length; i++) {
    result.push(callback(this[i], i, this));
  }
  return result;
};

const arr = [1, 2, 3];
const newArr = arr.myMap((item) => item * 2);
console.log(newArr); // [2, 4, 6]

注意事项

  • 回调函数接收三个参数:当前元素、索引和原数组。
  • map 方法不会改变原数组,而是返回一个新数组。
  • 避免在扩展原生原型时覆盖已有方法或影响其他代码。

js实现map

标签: jsmap
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div c…

js 实现继承

js 实现继承

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

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML…