当前位置: 首页 > news >正文

提供网站建设电话恒天安装wordpress教程

提供网站建设电话,恒天安装wordpress教程,天津企悦在线网站建设,动画设计师招聘js创建二维空数组 错误使用原因分析分析1举个例子:解释: 正确创建二维数组总结: 错误使用 今天在写代码的时候,需要创建一个长度为2的空二维数组,我当时第一反应就是,使用let arr new Array(2).fill([])&…

js创建二维空数组

  • 错误使用
    • 原因分析
      • 分析1
      • 举个例子:
      • 解释:
  • 正确创建二维数组
  • 总结:

错误使用

今天在写代码的时候,需要创建一个长度为2的空二维数组,我当时第一反应就是,使用let arr = new Array(2).fill([]),我在控制台打印了,发现确实创建了一个空二维数组,但是,实际上我根据索引进行数组push时,发现二维数组中的两个元素同时改变。后来查找资料发现如下原因:

原因分析

使用 let arr = new Array(2).fill([]) 创建二维数组时不可行的原因,实际上是因为 Array.prototype.fill() 方法填充的是对同一个引用的所有数组元素,而不是创建独立的空数组。因此,fill([]) 会将所有的数组元素都填充为对同一个空数组的引用。

分析1

let arr = new Array(2).fill([]);
console.log(arr);  // 输出:[[], []]
  • 这段代码确实会生成一个长度为 2 的数组 arr,其中包含两个数组元素 [[], []]。但这两个元素并不是两个独立的空数组,而是引用了同一个空数组对象。

  • 问题:由于数组元素是引用类型,因此数组 arr 的两个元素实际指向同一个空数组。修改其中一个元素,也会影响到另一个元素。

举个例子:

let arr = new Array(2).fill([]);// 修改 arr[0] 中的内容
arr[0].push(1);console.log(arr);  // 输出:[[1], [1]]

解释:

  • 当你使用 arr[0].push(1) 向第一个空数组中添加元素时,实际上会影响到 arr[1],因为它们指向的是同一个空数组对象。因此,arr[1] 也变成了 [1]

正确创建二维数组

要避免这个问题,应该确保每个数组元素都指向不同的空数组对象。你可以使用 map() 来创建每个元素的独立副本。

let arr = new Array(2).fill(null).map(() => []);
console.log(arr);  // 输出:[[], []]// 修改 arr[0] 中的内容,不会影响 arr[1]
arr[0].push(1);
console.log(arr);  // 输出:[[1], []]
  • 这里,fill(null) 先用 null 填充数组,然后通过 map(() => []) 为每个元素创建一个新的空数组。这样,arr[0]arr[1] 就是两个独立的空数组,不会互相影响。

总结:

  • new Array(2).fill([]) 创建的二维数组中的两个元素引用的是同一个空数组。
  • 解决方法是使用 map() 或其他方式确保每个元素指向不同的数组对象。
http://www.yayakq.cn/news/261339/

相关文章:

  • 新手学做网站的书哪里找网站开发团队
  • 深圳网站设计公司让您放心省心做网站干嘛
  • 做报告的网站wordpress 儿童主题
  • 苏州网站建设联系电话seo技术服务
  • 河南省建设监理协会网站人才十wordpress菜单调用
  • 计算机培训中心网站论坛小程序源码
  • 网站备案后 还是需要再备案吗泉州企业网站建设公司
  • 临沂网站建设培训学校佛山市建设官方网站
  • 宏发建设有限公司网站wordpress 元数据定义
  • 动漫做a视频网站有哪些百度app关键词优化
  • 夏天做哪些网站能致富建设银行储蓄卡余额查询系统
  • 个人网站备案 内容附近广告喷绘制作公司
  • 网站开发职能家具网站建设的背景
  • 网站建设能解决哪些问题asp做留言板网站
  • 易企秀网页制作官网入口外包网络优化
  • 免费网站优化深圳网站改版公司
  • 陵水建设局网站17zwd一起做网店潮汕站
  • 移动端网站建设的请示互联网保险发展现状
  • 网站的链接结构怎么做北京网页设计公司有哪些
  • 做检测设备的网站有哪些福州综合网站建设
  • 免费正能量不良网站推荐西宁网站建设最好的公司哪家好
  • 西安机场商务宾馆百度做网站wordpress显示加载耗时
  • 搭建网站多少钱网站制作资讯
  • 上海建设银行网站上班时间表ip开源网站FPGA可以做点什么
  • 越南人一般去哪个网站做贸易登封做网站推广
  • 做网站需要知道的简单代码北京网站建设 网络安全
  • 本地用织梦做网站上海贸易公司有哪些
  • 建设网站公司谁家好济南建站推荐企汇优见效付款
  • 网站设计要点 优帮云wordpress是主机吗
  • 想做外贸做哪些网站做婚恋网站的翻译好吗