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
付费偷看金额在0.1-10元之间
你的目的是根据不同的输入修改数组的内容,所以直接更新到数组中以达到目的:
方法有很多,最简单的在函数最后return str,然后用arr[0] = modi(arr[0])的方式调用。
这是因为函数参数传递时只是将值复制一份传入,在函数中修改以后只会在函数里起作用,函数结束后值并不会返回,需要return回来才行。另外你的switch是对整个数组进行case,而不是对某一个元素。
因为js的传参都只是值传递,所以你只是传个值进去自然不可能修改到外层的数组。
一周热门 更多>