Преобразование массива в верхний регистр
У меня есть массив, который я хочу изменить в верхний регистр, но я не могу заставить его работать. Пожалуйста, помогите мне.
var array2 = ["melon","banana","apple","orange","lemon"];
array2.toUpperCase()
Я также пробовал нижеследующее, но он не работает.
array2.map(toUpperCase);
Заранее спасибо!
Ответы
Ответ 1
вы должны использовать функцию обработчика на карте:
var array2 = ["melon","banana","apple","orange","lemon"];
array2.map(function(x){ return x.toUpperCase() })
для получения дополнительной информации о карте
изменение: да, вы можете сделать
toUpper = function(x){
return x.toUpperCase();
};
array2.map(toUpper);
Ответ 2
toUpperCase()
не меняет значение. Попробуйте array2 = array2.map(function (e) { return e.toUpperCase() });
Ответ 3
Карта - это то, что я бы рекомендовал, но здесь альтернативный вариант, который может помочь кому-то, кто хочет понять применение, используемое на прототипе объектов.
Это пример массива, заимствующего метод String.toUpperCase() с помощью.apply() и использования его в указанном массиве. Массив принудительно применяется к строке с использованием.apply(), а затем обратно в массив с верхним регистром, используя метод.split().
arr = ["fulu", "nulu", "hulu"];
var arrToUp = String.prototype.toUpperCase.apply(arr).split(",");
console.log(arrToUp)
//["FULU", "NULU", "HULU"]
Ответ 4
Попробуйте выполнить цикл через каждый элемент и сделать его верхним регистром.
for(var i = 0; i < array2.length; i++){
array2[i] = array2[i].toUpperCase();
}
Ответ 5
Вы можете добавить метод toUpperCase() в Array.prototype:
Array.prototype.toUpperCase = function(){
return this.map( (el) => (typeof el === "string") ? el.toUpperCase() : el)}
Ответ 6
Насколько я знаю, JavaScript не поддерживает функцию toUpperCase()
для массивов. Вы должны создать цикл for
или foreach
для цикла через массив и вызвать .toUpperCase()
для каждого элемента массива.
Вы также можете создать небольшую функцию, например: fooobar.com/questions/346745/...
Ответ 7
var arr = ["hamed","hassan","hema","zeiad","saad","omar","ali","sayed","ahmed"];
var str = String(arr).toUpperCase().split(",");
Ответ 8
вы можете использовать это:
var a = ['this','is','test'];
a.map(f=>{ return f.toUpperCase(); });
Ответ 9
var name = ['Amit','Sumit','Kumit'];
var newname = name.join('-').toUpperCase().split();
console.log(newname);