js 数组元素批量修改

var arr = ["你", "我", "他", "它"];
把这个数组元素后面拼接一个一样的字符串。
结果是 ["你不是", "我不是", "他不是", "它不是"]
有没有最简便的办法

阅读 17.5k
6 个回答

clipboard.png

var arr = ["你", "我", "他", "它"];
arr.map(function(i){return i+'不是'})

一楼的答案应该是几乎最简单的,但是map并不会改变原数组。如果楼主想要改变原数组的值,还需要将arr指向map操作后返回的数组

var arr = ["你", "我", "他", "它"];

arr = arr.map(function(e){
  return e + '不是';
});

// arr ["你不是", "我不是", "他不是", "它不是"]

或者只是想用改变后的值,用一个变量存着就好

var arr = ["你", "我", "他", "它"];

var newArr = arr.map(function(e){
  return e + '不是';
});

// arr ["你", "我", "他", "它"];
// newArr  ["你不是", "我不是", "他不是", "它不是"]

我是为了答题,并不是最好的做法

var arr = ["你", "我", "他", "它"];
(arr.join("不是,")+"不是").split(",")
//["你不是", "我不是", "他不是", "它不是"]

for (i in arr){arr[i]=arr[i]+“不是”;};

var arr = ["你", "我", "他", "它"];
for(var i=0;i<arr.length;i++){

alert(arr[i]+"不是");

}

新手上路,请多包涵

谦龙值得参考,解决了我的问题。
我的问题是我有一个数组,元素是数字,
可以借用谦龙的方法将每个元素转换成字符,就是给每个元素加上“”

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题