新建一个switch函数,将数组某个元素带入,返回的依然是原来的数,为什么???
arr=[1,2,3]; function modi(str){ switch(str){ case 1:str = "a";break; case 优艾设计网_在线设计2:str = "b";break; case 3:str = "c";break; } } modi(arr[0]);modi(arr[1]);modi(arr[2]);console.log(arr);//返回 1,2,3要怎样才能返回 a,b,c
360U3322388694 8小时前 优艾设计网_平面设计
你的目的是根据不同的输入修改数组的内容,所以直接更新到数组中以达到目的:
简单快乐1101 8小时前 优艾设计网_电脑技术
因为js的传参都只是值传递,所以你只是传个值进去自然不可能修改到外层的数组。
un优艾设计网_Photoshop百科turned大师 7小时前
这是因为函数参数传递时只是将值复制一份传入,在函数中修改以后只会在函数里起作用,函数结束后值并不会返回,需要return回来才行。另外你的switch是对整个数组进行case,而不是对某一个元素。
u_104613656 优艾设计网_PS问答 7小时前
方法有很多,最简单的在函数最后return str,然后用arr[0] = modi(arr[0])的方式调用。
精彩评论