Ответ 1
for(var i=0;i<array.length;i++){
array[i]="#"+array[i];
}
У меня есть массив, который содержит содержимое следующим образом:
["ZS125-48ATab", "STR125YBTab", "KS125-24Tab", "ZS125-50Tab", "DFE125-8ATab", "ZS125-30Tab", "HT125-8Tab", "HT125-4FTab", "STR50Tab"]
Можно ли добавить символ #
в начало каждого элемента массива.
Спасибо.
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];
}
В новых браузерах вы можете сделать
arr = arr.map(function(e) {return '#' + e});
Пример для ES6
var arr = ['first', 'second', 'third'];
arr = arr.map(i => '#' + i);
Результат:
console.log(arr); // ["#first", "#second", "#third"]
Вы можете сделать это следующим образом:
array = ('#' + array.join('#')).match(/#[^#]*/g) || []; // null || []
Следующий трюк работает, но мне интересно, почему split
игнорирует первый острый...
array = ('#' + array.join('#')).split(/(?=#)/);
Действительно, я скорее ожидал такой сценарий: "#a#b#c" -> ["", "#a", "#b", "#c"]
.
В любом случае, я предпочитаю второй метод, так как match
возвращает null
в случае сбоя.
Используйте метод 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;
});
Следующий код выполнит задание:
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];
}
Смотрите демонстрацию здесь
Простой и приятный в ES6 как,
array.map((line) => '#${line}');