美文网首页
数组方法-map

数组方法-map

作者: skoll | 来源:发表于2022-07-12 23:30 被阅读0次

描述

map方法会给原数组中的每个元素按照顺序调用执行一次callback函数,每次执行后的返回值,组成一个新数组

语法

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

1 .callback:生成新数组元素的函数,使用三个参数
2 .currentValue:数组正在处理的当前元素
3 .index:正在处理的当前元素的索引
4 .array:map方法调用的数组
5 .thisArg:执行callback函数时引用的this

返回:一个由原数组每个元素执行回调函数的结果组成的新数组

细节

1 .callback只会在有值的索引上被调用,那些从来没有被赋过值或者被delete删除的索引不会被调用。

1 .null,undefined,'',这些都会先做隐式转换,所以这里就不搞了,直接ts解决不好么

2 .map实现的一定是生成一个新数组,如果不打算使用返回的新数组,newArr=arr.map(callback),是违反设计初衷的。

1 .如果想要操作原来的数组,使用forEach,for..of
2 .callback也不允许没有返回值

3 .map不会修改原来的数组,虽然可以在callback的时候修改原来的数组
4 .调用map之后在push的数据是不会被执行到的

使用举例

1 .求一组数的平方根

let newArr=arr.map(Math.sqrt)

2 .对原来的一组数进行格式化处理

var kvArray = [{key: 1, value: 10},
               {key: 2, value: 20},
               {key: 3, value: 30}];

var reformattedArray = kvArray.map(function(obj) {
   var rObj = {};
   rObj[obj.key] = obj.value;
   return rObj;
});

// reformattedArray 数组为: [{1: 10}, {2: 20}, {3: 30}],

// kvArray 数组未被修改:
// [{key: 1, value: 10},
//  {key: 2, value: 20},
//  {key: 3, value: 30}]

3 .最关键的就是用的时候想不起来,for操作的优先级在脑海里面太高了

相关文章

  • JS 中 数组的常用操作

    遍历数组 map map方法的作用在于处理流式数据,比如数组。 map() 方法返回一个新数组,数组中的元素...

  • Array API

    map map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map() 方法按照原始数组...

  • js中的map()方法

    map定义和方法 map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值。 map()方法按照...

  • JS中的map()方法

    map定义和方法 map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值。 map()方法按照...

  • map

    js中的map()方法 map定义和方法 map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理的后...

  • js中map/reduce/filter

    map() map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。 map() 方法按照原...

  • JavaScript----map、foreach、for、fo

    map() map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值注意:map方法不会改变原始数组 ...

  • js高级程序设计笔记9

    数组方法 数组迭代方法 every() filter() forEach() map() some() 数组归并方法

  • 数组、对象

    数组 1,filter方法: 2,forEach方法: 3,map方法: map() 方法创建一个新数组,其结果是...

  • javascript高阶函数--未更新完

    pipe compose curring filter --数组的方法 map--数组的方法 reduce--数组...

网友评论

      本文标题:数组方法-map

      本文链接:https://www.haomeiwen.com/subject/kvsobrtx.html