美文网首页
☘️js map会不会改变原数组?

☘️js map会不会改变原数组?

作者: 索隆萨克 | 来源:发表于2019-08-21 09:58 被阅读0次

答案是需要根据所操作的数组内容来区分,如果数组内容是引用类型,那原数组就会被改变。
如果原数组是值类型,那原数组就不会被改变。
看看下面的小例子就懂了。

const arr = [{ name: "derek" }, { name: "emma" }];

const temp_arr = arr.map(v => {
  v.age = 18;
  return v;
});

/**
 * 打印出的结果其实是相等的,因为改变map---》里面的v是一个对象,对象是引用类型,所以两个数组相等。
 */
console.log('arr:', arr);
console.log('temp_arr:', temp_arr);


console.log('*'.repeat(80));
/**
 * 下面这种操作值类型就不会改变了
 */

const arr_value = [1, 2, 3];

let temp_arr_value = arr_value.map(v => {
  return v*v;
});

console.log('arr_value:',arr_value);
console.log('temp_arr_value:', temp_arr_value);

结果:


image.png

相关文章

  • 前端学习大纲-基础篇

    js基础 数组操作哪些会改变原数组(pop、splice、reverse等等)哪些不会改变原数组(map、redu...

  • ☘️js map会不会改变原数组?

    答案是需要根据所操作的数组内容来区分,如果数组内容是引用类型,那原数组就会被改变。如果原数组是值类型,那原数组就不...

  • js中map()方法是否改变原数组

    先说结论:当数组元素是基本数据类型时,map()方法不会改变原数组;当数组元素是引用类型时,map()方法会改变原...

  • 数组

    不会改变原数组的方法: map reduce filter apply 会改变原数组值的方法 sort rever...

  • Js数组遍历对原数组的影响及返回值

    1.map和forEach 结果:map和forEach都不改变原数组,map返回一个新数组,forEach没有返...

  • 2018-03-15 数组。

    map 与 filter 的区别:map是处理数组filter是筛选数组 splice:会改变原数组,第一个参数为...

  • js中的map到底会不会改变原数组?

    不会改变原数组 分析如下: 这就要扯到js的数据类型上了. js数据类型分为两种 基本类型: number/ st...

  • es6操作数组

    1、forEach() //遍历数组,无返回值,不改变原数组2、map() //遍历数组,返回一个新数组,不改...

  • js 基础

    不要依赖在函数内给传进来的数组赋值 forEach/map改变原数组? Array.some( )和Array.e...

  • js中的循环遍历方法对比

    JS循环大总结, for, forEach,for in,for of, map区别 map(数组方法): 特性:...

网友评论

      本文标题:☘️js map会不会改变原数组?

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