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会改变原数组

  • 相关阅读:
    合并本地多次commit为一个commit
    git 取消文件跟踪
    遍历进程 遍历窗口
    linux查看程序运行参数
    ubuntu下载地址
    将博客搬至CSDN
    extern"C"的使用
    ESP32-NVS存储(非易失性存储库)
    ESP32-EEPROM存储
    c语言简单数据类型
  • 原文地址:https://www.cnblogs.com/Ewarm/p/13306145.html
Copyright © 2011-2022 走看看