将文本添加到每个数组元素的开头

Adding text to beginning of each array element

本文关键字:数组元素 开头 文本 添加      更新时间:2024-05-29

我有一个数组,其中包含如下内容:

["ZS125-48ATab", "STR125YBTab", "KS125-24Tab", "ZS125-50Tab", "DFE125-8ATab", "ZS125-30Tab", "HT125-8Tab", "HT125-4FTab", "STR50Tab"] 

是否可以在数组中每个元素的前面附加一个#符号。

谢谢。

ES6 示例

var arr = ['first', 'second', 'third'];    
arr = arr.map(i => '#' + i);

结果:

console.log(arr); // ["#first", "#second", "#third"]
for(var i=0;i<array.length;i++){
    array[i]="#"+array[i];
}

在数组上迭代,只添加#

var arr = [your array];
for (var i=arr.length; i--;) {
    arr[i] = '#' + arr[i];
}

FIDDLE

在较新的浏览器中,你可以进行

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

Simple&ES6-as中的甜味剂,

array.map((line) => `#${line}`);

你可以这样做:

array = ('#' + array.join('#')).match(/#[^#]*/g) || []; // null || []

下面的技巧同样有效,但我想知道为什么split忽略了第一个尖锐的。。。

array = ('#' + array.join('#')).split(/(?=#)/);

事实上,我相当期待这种情况:"#a#b#c" -> ["", "#a", "#b", "#c"]

无论如何,我更喜欢第二种方法,因为match在失败的情况下返回null

使用forEach方法(参考)

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;
});

下面的代码可以完成这项工作:

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];   
    }    

请参阅此处的演示