zoukankan      html  css  js  c++  java
  • map方法到底会不会改变原始数组?

    有时候map方法会改变原数组,但我之前明明记得map方法是不会改变原数组,但是我在实际项目中发现map是会改变原数组的。amazing,那么让我们一探究竟。

    Array.prototype.map()

    map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。

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

    MDN上清清楚楚说 map不修改调用它的原数组本身(当然可以在 callback 执行时改变原数组) 

    因此假设 数组是值类型的,则不会改变原数组,

    假设数组是引用类型的数组,如果改变数组选项中的引用类型的值则原数组会发生改变,因为对于数组选项来说本身地址是没有发生改变,但是对于是值发生了改变,故而会出现有时候用map你发现不会改变原数组,有时候用map会改变原数组

  • 相关阅读:
    ajax的基础知识
    前端必备的php的基础知识点
    关于事件的简单汇总
    Django rest-framework(目录)
    Django(目录)
    前端(目录)
    数据库知识(目录)
    数据库基础
    并发编程(目录)
    网络编程
  • 原文地址:https://www.cnblogs.com/Ewarm/p/13306145.html
Copyright © 2011-2022 走看看