Добавление текста в начало каждого элемента массива

У меня есть массив, который содержит содержимое следующим образом:

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

Можно ли добавить символ # в начало каждого элемента массива.

Спасибо.

Ответ 1

for(var i=0;i<array.length;i++){
    array[i]="#"+array[i];
}

Ответ 2

Итерации по массиву и просто добавьте #

var arr = [your array];

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

FIDDLE

В новых браузерах вы можете сделать

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

Ответ 3

Пример для ES6

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

Результат:

console.log(arr); // ["#first", "#second", "#third"]

Ответ 4

Вы можете сделать это следующим образом:

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

Следующий трюк работает, но мне интересно, почему split игнорирует первый острый...

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

Действительно, я скорее ожидал такой сценарий: "#a#b#c" -> ["", "#a", "#b", "#c"].

В любом случае, я предпочитаю второй метод, так как match возвращает null в случае сбоя.

Ответ 5

Используйте метод 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

Следующий код выполнит задание:

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

Смотрите демонстрацию здесь

Ответ 7

Простой и приятный в ES6 как,

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