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

IT技术 javascript arrays
2021-03-16 02:42:41

我有一个包含以下内容的数组:

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

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

谢谢。

6个回答

ES6 示例

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

结果:

console.log(arr); // ["#first", "#second", "#third"]
请考虑编辑您的帖子,以添加更多关于您的代码的作用以及为什么它会解决问题的解释。大多数只包含代码(即使它正在工作)的答案通常不会帮助 OP 理解他们的问题。
2021-04-22 02:42:41
for(var i=0;i<array.length;i++){
    array[i]="#"+array[i];
}
` array.forEach(item => { item = "#" + item }) `
2021-05-20 02:42:41

遍历数组并添加 #

var arr = [your array];

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

小提琴

在较新的浏览器中,您可以这样做

arr = arr.map(function(e) {return '#' + e});
我可以理解新人何时这样做,但我认为高代表用户不应该回答这样的“问题”。近距离投票(+ 友好的“你尝试过什么”评论)会更有帮助。
2021-04-21 02:42:41
@thg435 - 对我来说似乎是一个合理的问题,即使这不是很难做到的事情,或者通过一些试验和错误来解决。
2021-05-01 02:42:41
我当然做到了,并且拒绝了你的投票。“给我一些代码”的问题以及“给我一些代表”的答案不属于这里。
2021-05-05 02:42:41
@thg435 - 确实如此,如果您觉得它应该关闭,请投赞成票,这取决于您。
2021-05-06 02:42:41
“要求代码的问题必须表明对正在解决的问题有最低限度的理解。包括尝试的解决方案,为什么它们不起作用,以及预期的结果。”
2021-05-19 02:42:41

ES6 中的简单和甜蜜,

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

你可以这样做:

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

以下技巧也有效,但我想知道为什么split忽略第一个尖锐...

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

确实,我更期待这种情况:"#a#b#c" -> ["", "#a", "#b", "#c"]

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

@acostache Trickier 但可能更贵 :-)
2021-04-23 02:42:41