我有一个包含以下内容的数组:
["ZS125-48ATab", "STR125YBTab", "KS125-24Tab", "ZS125-50Tab", "DFE125-8ATab", "ZS125-30Tab", "HT125-8Tab", "HT125-4FTab", "STR50Tab"]
是否可以在数组中每个元素的前面附加#
符号。
感谢。
答案 0 :(得分:21)
for(var i=0;i<array.length;i++){
array[i]="#"+array[i];
}
答案 1 :(得分:18)
迭代数组,只需添加#
var arr = [your array];
for (var i=arr.length; i--;) {
arr[i] = '#' + arr[i];
}
在较新的浏览器中,您可以
arr = arr.map(function(e) {return '#' + e});
答案 2 :(得分:17)
ES6的例子
var arr = ['first', 'second', 'third'];
arr = arr.map(i => '#' + i);
结果:
console.log(arr); // ["#first", "#second", "#third"]
答案 3 :(得分:6)
在ES6中简单而甜美
array.map((line) => `#${line}`);
答案 4 :(得分:3)
你可以这样做:
array = ('#' + array.join('#')).match(/#[^#]*/g) || []; // null || []
以下技巧也有效,但我想知道为什么split
忽略了第一个尖锐的......
array = ('#' + array.join('#')).split(/(?=#)/);
实际上,我更期待这种情况:"#a#b#c" -> ["", "#a", "#b", "#c"]
。
无论如何,我更喜欢第二种方法,因为match
会在失败的情况下返回null
。
答案 5 :(得分:1)
使用forEach
方法(reference)
var array = ["ZS125-48ATab", "STR125YBTab", "KS125-24Tab", "ZS125-50Tab", "DFE125-8ATab", "ZS125-30Tab", "HT125-8Tab", "HT125-4FTab", "STR50Tab"];
array.forEach(function(element, index) {
array[index] = '#' + element;
});
答案 6 :(得分:1)
以下代码可以完成这项工作:
var t = ["ZS125-48ATab", "STR125YBTab", "KS125-24Tab", "ZS125-50Tab", "DFE125-8ATab", "ZS125-30Tab", "HT125-8Tab", "HT125-4FTab", "STR50Tab"];
for(var i=0;i<t.length;i++){
t[i] = "#"+t[i];
}
请参阅演示here