JS怎么把for循环出来的东西放到一个数组里

JS怎么把for循环出来的东西放到一个数组里,第1张

下面输出结果是"jim",而不是"tom",

是因为数组中保存的都是指向json对象a的地址,

dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,

当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。

1234567891011var dd = [] var a = { "cname": "tom" } for (var i = 0 i <4 i++) {     dd[i] =a }dd[0].cname = "jim"alert(dd[2].cname)

下面输出结果是0,而不是1,

是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的厅旦内存地址都不同,互不干扰。

12345678910111213var dd = [] var a = 0 for (var i = 0 i <4 i++) {   扮举扰  dd[i] =a } dd[0]=1 alert(dd[2])

JS(Justin&Sophia),中国台湾流行乐组合,由陈忠义、陈绮萱组成。

1999年,陈忠义与陈绮萱组成“GoGo&MeMe”,并推出组合答高首张音乐专辑《Say Forever》。2004年,签约华研国际,并改名为“JS”;同年8月,推出组合第二张音乐专辑《遇见未来》。2006年,JS与华研国际的合约期满后,并创办了“音思拜耳Inspire音乐工作室”;同年7月,推出组合首张EP专辑《Rosso苏菲亚的盛宴》。2008年,凭借专辑《此生最美的风景》入围“新加坡金曲奖”最佳组合奖。2009年,推出组合第二张精选辑《The JS Moment》。2012年,推出组合第四张音乐专辑《听见》。2013年,凭借专辑《听见》入围“第24届金曲奖”最佳演唱组合。2014年12月21日,在上海举行“JS Xmas演唱会”。2015年3月,推出组合第五张EP专辑《这就是爱》。

ob是引用类型,你把datas的0到9都指向了ob,ob的值改掉之后,datas0到9的数据就全部改掉了。所以,你卖御可以把ob的声明放到孙散for循环里面,这样每次循环,ob都是新建的,datas0到9就是则配氏指向不同的地址。

方法解析如下:

1、push:将乎让参数添加到原数组末尾,并返回数组的长度。

测试代码如下:

执行如此顷大下,6已经被加入数组。

2、splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... 。

测试代码如下:

执行如下:

3、unshift():在数组的开头添加新元素 。

测试代码如下:

执行如下:0已经被加入开头。

扩展资料:

js数组其他 *** 作函数:

pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined。

测试代码森竖如下:

输出:(5已经被删除)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11976256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存