news 2026/8/22 16:14:43

js 数组对象的map方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
js 数组对象的map方法

map是否会改变原数组?

大家一般都会说,map不会改变原数组,foreach会改变原数组。不过,也是分情况而定的。

如果数组元素是一般数据类型,那确实map不会改变原数组

如果数组是一个数组对象呢? 会发现,map后其实改变了原数组

那如果不想改变原数组怎么办呢,有人就提出了,concat复制一个数组,然后再操作新数组可以吗?

下面通过concat复制了一个相同数据的新数组

接着,我改变了新数组,看看发生了什么?

发现,原数组以及copy的新数组都发生了改变。

那如何不让原数组发生改变呢?

  1. 通过JSON.parse()的方式操作
  2. 可以通过扩展运算符… 来操作

通过扩展运算符…深拷贝给obj,不在原数组中直接操作item的值,而是操作newItem中值,这样原数组就不会改变了

总而言之,在数组对象中,map只要不直接对item进行赋值操作,其实就不会影响原数组的啦。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 16:09:28

Linux日志审计与故障追踪:从基础命令到高级工具实战指南

在 Linux 服务器运维和开发过程中,你是否遇到过这样的场景:系统突然变慢,却不知道是哪个进程在“作祟”;服务莫名其妙崩溃,日志里只有一句含糊的错误信息;或者更糟,怀疑系统被入侵,却…

作者头像 李华
网站建设 2026/8/22 16:08:27

用普通摄像头免费做眼动追踪:eyeLike 零成本快速上手指南

用普通摄像头免费做眼动追踪:eyeLike 零成本快速上手指南 【免费下载链接】eyeLike A webcam based pupil tracking implementation. 项目地址: https://gitcode.com/gh_mirrors/ey/eyeLike eyeLike 是一个用 OpenCV(最常见的图像库)写…

作者头像 李华
网站建设 2026/8/22 16:06:41

小红书 算法一面 十三

Deepseek r1中的训练方式有什么特别之处?怎么做的think?RLHF的流程是什么? ## 一、DeepSeek R1 训练方式的核心特色与具体实现DeepSeek R1 是 DeepSeek 团队推出的大模型,其训练方式的核心创新是**将 MoE(混合专家&…

作者头像 李华
网站建设 2026/8/22 16:05:14

G-Helper AMD CPU降压完整指南:如何降温15℃、功耗省20%

G-Helper AMD CPU降压完整指南:如何降温15℃、功耗省20% 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, …

作者头像 李华