Array.map

2019-06-28  本文已影响0人  anddju

常用的遍历方法

语法

var new_array = arr.map(function callback(currentValue[, index[, array]]) {
 // Return element for new_array 
}[, thisArg])

参数描述

函数描述

map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值(包括 undefined ) 组合起来形成一个新数组。** callback 函数只会在有值的索引上被调用;那些从来没被赋过值或者使用 delete 删除的索引则不会被调用。**
并且不会修改原数组内的基础类型变量

以上内容来自:MDN

今天手写一下

function self_map(fn ,context){
  let arr = Array.prototype.slice.call(this); // 浅拷贝
  let mappedArr = [];
  for (let i = 0 ; i < arr.length ; i++){
    if(!arr.hasOwnProperty(i)) continue; // 是否为可读属性
    mappedArr.push(fn.call(context,arr[i], i ,this)); // 调用,并且将返回值填入参数内
  }
  return mappedArr;
}
上一篇 下一篇

猜你喜欢

热点阅读