js数组赋值但是不改变原数组(用js代码实现移出数组arr[1,2,3,4,2,5,6,2,7,2]中与2相等的元素,并生成一个新的数组,不改变原数组)

2024-07-01 22:32:30 6

js数组赋值但是不改变原数组(用js代码实现移出数组arr[1,2,3,4,2,5,6,2,7,2]中与2相等的元素,并生成一个新的数组,不改变原数组)

本文目录

用js代码实现移出数组arr[1,2,3,4,2,5,6,2,7,2]中与2相等的元素,并生成一个新的数组,不改变原数组

es6有一个filter呀。

let arr = ;let newArr = arr.filter(item =》 item === 2);// 

不过这没意义呀,输出的是一个数组 。要是输出原数组2的index还可以。

let arr = ;let newArr = ;arr.forEach((current, index) =》 {    if (current === 2) {        newArr.push(index);    }})

js 数组反转, 不改变原来的数组

array.reverse(), 会改变原来的数组, 并返回该数组 如果要不改变原数组, 需要完全复制一份新的数组

js数组赋值,不修改原数组,注意区分深、浅拷贝!踩坑!

近日在写一个新功能的时候,其实没有很难,数据交互有一点复杂,发灰度之后,自测出一个小bug,虽然整体上似乎无伤大雅,但是发现了就犯强迫症想要解决,仔细debug了一晚上+一上午,甚至把自己组件拆分,数据传递的逻辑都重新理了一遍,实在没发现什么问题,一直看断点,数据在某一个阶段没有按照理想的状态变化,但是一直没明白是为什么,原本没往深浅拷贝的方面去想,一直纠结于各个组件之间的state的变化等等,最后突然灵光了一把,原来是这么小的错误,可把我愁了半天。就是某onchange函数中 把state里的数组赋值给新的变量,新的变量对数组做了一些操作,但却把state里面原本的值也修改了 (这是之前一直没发现的),正好其他地方state里的此数组是需要修改的,所以整体上似乎没产生什么影响,但在那个onchange函数里就改变了,会影响第一次渲染之后的再次渲染数据显示有错误。解决了也是终于舒畅了~特此记录,一定要重视对象的深浅拷贝!!一不小心就用错了酿成大祸!  js中储存对象都是存引用地址,所以浅拷贝会导致两个变量指向同一块内存地址。数组的赋值其实相当于给了索引,改变其中一个变量其他的引用其他都会改变。如下为浅拷贝 // var a = // var b = a  //此步不是赋值,而是将a的引用赋给b,所以改变b也会改变a // b=4 // a为 // b为 总的来说 :原始参数(比如一个具体的数字)被作为值传递给函数,如果被调用函数改变了这个参数的值,这样的改变不会影响到全局或调用函数。但当你传递一个对象(js里数组也是对象)到一个函数,如果在函数里面改变了这个参数的内容,那么这个改变在外部是可见的,也就是会影响到全局。 深拷贝数组的方法: (1)slice函数,newArr = arr.slice(0) (2)concat函数,newArr = .concat(arr,arr2,...) (3)assign函数(对象),newObj = object.assign({},obj) 但以上三种方式都是对对象第一层的深拷贝,第二层之后还是浅拷贝,要实现多维数组的深拷贝可以用: newArr = JSON.parse(JSON.stringify(arr))

js中,关于数组赋值变化问题var arr = [1,4,5,9,0];var t =arr.随便一种方法();

这是因为把一个数组直接赋值给一个变量,所赋值的只是数组的指针(或者说内存地址),两者实际上仍然是同一个数组(或者说同一个对象),改变其中一个的顺序,另一个的顺序也会跟着改变。就好比同一个人有两个不同号码的身份证一样,用不同的身份证不等于这个人就变成另一个人!如果你希望赋值后的数组(比如t)是原数组(比如arr)的复制品(或者说克隆体)而不是同一个,就应该新建一个空数组,然后把原数组的每个元素逐个复制到新数组中,而不能够想当然地用等于号直接赋值!

js数组复制(不改变原数组)

需要从后台取出数据,在前台接收并要保存在一个全局变量,因为之后还要对此使用此全局变量。 全局变量 var globalarr = ; 后台取出的数组变量 var arr = ; 一般情况下如果使用等号赋值,会连同原数级的地址复制,如果在此后操作原数组,会影响原数组的元素。 例 1:(赋值且复制数组地址) var globalarr = arr;     // 此处globalarr 和 arr 一样拥有三个对象数组元素,且globalarr和arr 同享内存地址。 console.log( globalarr );   console.log( arr ); // 上面的打印结果如下: // 新建一个对象数组ms,并push进globalarr,打印出,看到globalarr和arr都改变。 var ms = {}; ms.id="10";ms.price=’1000.00’; globalarr.push(ms); console.log(globalarr);console.log(arr); // 再打印的结果如下: 这时,发现只单独push元素到gloalarr中,原数组arr 也发生了改变。 例 2:(只赋值不复制数组地址方法一) var globalarr = ;var arr =  ; globalarr = arr.slice();    // 我们用slice函数来赋值数组 var ms = {};ms.id="10"; ms.price=’1000.00’; globalarr.push(ms); console.log(’ms-globalarr=》’,globalarr); console.log(’ms-arr=》’,arr); 我们发现slice函数赋值是不会影响原数组的。 例 3:(只赋值不复制数组地址方法二) var globalarr = ;var arr =  ; for(vari in arr ) { var v = arr; var obj = {}; obj.id= v.id; obj.price= v.price; globalarr.push(obj); } var ms = {}; ms.id="10"; ms.price=’1000.00’; globalarr.push(ms); console.log(’ms-globalarr=》’,globalarr); console.log(’ms-arr=》’,arr); 例4:(只赋值不复制数组地址方法三) var globalarr = ;var arr =  ; var x = globalarr.concat(arr); var ms = {}; ms.id="10"; ms.price=’1000.00’; x.push(ms); console.log(’after=》x’,x); console.log(’after=》arr’,arr);

js数组赋值但是不改变原数组(用js代码实现移出数组arr[1,2,3,4,2,5,6,2,7,2]中与2相等的元素,并生成一个新的数组,不改变原数组)

本文编辑:admin

本文相关文章:


js数组赋值但是不改变原数组(js数组复制(不改变原数组))

js数组赋值但是不改变原数组(js数组复制(不改变原数组))

本文目录js数组复制(不改变原数组)用js代码实现移出数组arr[1,2,3,4,2,5,6,2,7,2]中与2相等的元素,并生成一个新的数组,不改变原数组js数组赋值,不修改原数组,注意区分深、浅拷贝!踩坑!js 数组反转, 不改变原来的

2024年7月18日 14:58

更多文章:


北斗卫星导航地图免费下载(北斗卫星导航免费官方下载是真的吗)

北斗卫星导航地图免费下载(北斗卫星导航免费官方下载是真的吗)

大家好,关于北斗卫星导航地图免费下载很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于北斗卫星导航免费官方下载是真的吗的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮

2024年4月6日 03:25

暴雪手游官网(暗黑破坏神有手游吗)

暴雪手游官网(暗黑破坏神有手游吗)

今天给各位分享暗黑破坏神有手游吗的知识,其中也会对暗黑破坏神有手游吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录暗黑破坏神有手游吗暴雪和网易怎么了《魔兽世界》手游官网公测时间是什么暴雪在宣布与网易游戏解约,

2024年7月8日 17:16

Win8.1设置个性主题详细教程?手机QQ空间个性化主题背景和挂件怎么设置

Win8.1设置个性主题详细教程?手机QQ空间个性化主题背景和挂件怎么设置

大家好,今天小编来为大家解答以下的问题,关于个性化主题,Win8.1设置个性主题详细教程这个很多人还不知道,现在让我们一起来看看吧!本文目录Win8.1设置个性主题详细教程手机QQ空间个性化主题背景和挂件怎么设置在个性化窗口中主题有哪三种苹

2024年6月9日 08:48

电脑配置论坛(在哪可以学到电脑配置呀)

电脑配置论坛(在哪可以学到电脑配置呀)

本文目录在哪可以学到电脑配置呀电脑配置论坛电脑硬件配置求电脑配置求专业的电脑配置网站关于电脑配置、在哪可以学到电脑配置呀想学习电脑配置,建议你去正规的电脑论坛里多学习,多看帖,千万别去某宝里看他们的配置清单,本来就是文字游戏,会让更入行的你

2024年3月26日 15:05

和平精英体验服官网(和平精英突变团竞2.0体验服在哪里下载)

和平精英体验服官网(和平精英突变团竞2.0体验服在哪里下载)

大家好,关于和平精英体验服官网很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于和平精英突变团竞2.0体验服在哪里下载的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮

2024年8月19日 02:15

战将风云里 咋升级最快?战将风云什么角色好

战将风云里 咋升级最快?战将风云什么角色好

本文目录战将风云里 咋升级最快战将风云什么角色好战将风云什么职业好请问91wan的战将风云的 董卓讨伐战 这个副本怎么刷战将风云里 咋升级最快1-45级:做主线一直做到45级很快的。46-50级:每天日常任务;高级英雄挑战副本,可以下5次,

2024年6月6日 01:53

saw是什么意思中?saw怎么读

saw是什么意思中?saw怎么读

各位老铁们,大家好,今天由我来为大家分享saw,以及saw是什么意思中的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录saw是什么意思中saw怎么读

2024年7月25日 17:25

虐杀原形2手机版(《虐杀原形》手机版怎么下载)

虐杀原形2手机版(《虐杀原形》手机版怎么下载)

本篇文章给大家谈谈虐杀原形2手机版,以及《虐杀原形》手机版怎么下载对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录《虐杀原形》手机版怎么下载

2024年6月21日 17:15

qq网页版登录(手机怎么登录网页版QQ)

qq网页版登录(手机怎么登录网页版QQ)

各位老铁们好,相信很多人对qq网页版登录都不是特别的了解,因此呢,今天就来为大家分享下关于qq网页版登录以及手机怎么登录网页版QQ的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录手机怎么登录网页版QQ网页版QQ怎

2024年6月28日 00:59

18款禁用lsp游戏手游(lsp像素游戏推荐手机版)

18款禁用lsp游戏手游(lsp像素游戏推荐手机版)

本篇文章给大家谈谈18款禁用lsp游戏手游,以及lsp像素游戏推荐手机版对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录lsp像素游戏推荐手机版lsp游戏推荐手机版18款禁用像素黄油游戏18款禁用的手机游戏小舞十八款禁用的软件

2024年7月23日 08:09

免费打电话网址(现在有没有打电话免费的网址)

免费打电话网址(现在有没有打电话免费的网址)

大家好,今天小编来为大家解答以下的问题,关于免费打电话网址,现在有没有打电话免费的网址这个很多人还不知道,现在让我们一起来看看吧!本文目录现在有没有打电话免费的网址怎么在网上免费拨号打电话求个电脑免费打电话的网站~!要时间长的有没有哪个网站

2024年7月2日 04:28

时间计算器小时分秒(计算器怎么调时间)

时间计算器小时分秒(计算器怎么调时间)

各位老铁们好,相信很多人对时间计算器小时分秒都不是特别的了解,因此呢,今天就来为大家分享下关于时间计算器小时分秒以及计算器怎么调时间的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录计算器怎么调时间时间计算器谁知道

2024年7月28日 21:05

蓝魔T8如何安装rockusb27驱动?蓝魔mp5死机

蓝魔T8如何安装rockusb27驱动?蓝魔mp5死机

本文目录蓝魔T8如何安装rockusb27驱动蓝魔mp5死机蓝魔mp4官网谁能告诉我蓝魔w9怎么刷机啊,关键是到哪里去下刷机用的软件蓝魔T8如何安装rockusb27驱动同志,请到蓝魔官网,进入技术支持 下载。找到和你MP4型号对应的固件下

2024年4月30日 18:36

魔兽争霸官网下载(魔兽争霸在哪能下载)

魔兽争霸官网下载(魔兽争霸在哪能下载)

大家好,魔兽争霸官网下载相信很多的网友都不是很明白,包括魔兽争霸在哪能下载也是一样,不过没有关系,接下来就来为大家分享关于魔兽争霸官网下载和魔兽争霸在哪能下载的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录魔兽争

2024年6月22日 03:28

赛车游戏大全免费下载(求赛车游戏手游排行,有哪些比较推荐的)

赛车游戏大全免费下载(求赛车游戏手游排行,有哪些比较推荐的)

大家好,关于赛车游戏大全免费下载很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于求赛车游戏手游排行,有哪些比较推荐的的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮

2024年7月20日 09:45

金山打字通怎么打字作弊(我们学校有速度测试,就是打一篇文章,有没有作弊版的金山打字通呢)

金山打字通怎么打字作弊(我们学校有速度测试,就是打一篇文章,有没有作弊版的金山打字通呢)

这篇文章给大家聊聊关于金山打字通怎么打字作弊,以及我们学校有速度测试,就是打一篇文章,有没有作弊版的金山打字通呢对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录我们学校有速度测试,就是打一篇文章,有没有作弊版的金山打字通呢金山

2024年8月25日 18:30

ofd文件用什么软件打开(电脑上的ofd格式文件如何打开呢)

ofd文件用什么软件打开(电脑上的ofd格式文件如何打开呢)

各位老铁们,大家好,今天由我来为大家分享ofd文件用什么软件打开,以及电脑上的ofd格式文件如何打开呢的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目

2024年8月5日 10:46

请问:MP3格式有几种?MP3有几种格式﹖

请问:MP3格式有几种?MP3有几种格式﹖

本文目录请问:MP3格式有几种MP3有几种格式﹖mp3的格式怎么弄mp3是什么格式的文件怎样把mp3格式转换成midi格式怎样将mp3格式转换成midi格式如何将m4r格式转换成 mp3格式LOL主界面上1分34秒的DJ琴女宣传片的音乐有m

2024年5月17日 22:37

如何安装设置无线网卡?如何设置上网卡

如何安装设置无线网卡?如何设置上网卡

本文目录如何安装设置无线网卡如何设置上网卡台式电脑网卡怎么设置电脑网卡如何设置ip网卡设置在哪怎么找无线网卡如何设置手提电脑无线网卡怎么开bt5外接无线网卡设置求助如何安装设置无线网卡无线网卡的安装设置方法与步骤:1、首先将无线网卡,接入电

2024年6月3日 14:03

invisible(隐身用英语怎么说用中文翻译)

invisible(隐身用英语怎么说用中文翻译)

本篇文章给大家谈谈invisible,以及隐身用英语怎么说用中文翻译对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录隐身用英语怎么说用中文翻

2024年8月24日 01:10

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1155
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索