将数组转换为大写

时间:2015-04-18 15:32:56

标签: javascript arrays

我有一个数组,我想改成大写,但我不能让它工作。请帮我。

var array2 = ["melon","banana","apple","orange","lemon"];

array2.toUpperCase()

我也尝试了以下但它既不起作用。

array2.map(toUpperCase);

提前致谢!

12 个答案:

答案 0 :(得分:39)

你应该在map中使用处理函数:

var array2 = ["melon","banana","apple","orange","lemon"];
array2 = array2.map(function(x){ return x.toUpperCase() })

for more information about map

编辑:是的,你可以做到

toUpper = function(x){ 
  return x.toUpperCase();
};
array2 = array2.map(toUpper);

答案 1 :(得分:6)

toUpperCase()不要更改该值。 试试array2 = array2.map(function (e) { return e.toUpperCase() });

答案 2 :(得分:3)

地图是我推荐的方式,但这里有一个替代方案可能会帮助希望理解的人在对象原型上使用。

这是一个使用.apply()借用String对象.toUpperCase()方法并在所述数组上使用它的数组的示例。使用.apply()将数组强制转换为字符串,然后使用.split()方法返回到大写数组。

arr = ["fulu", "nulu", "hulu"];
var arrToUp = String.prototype.toUpperCase.apply(arr).split(",");

console.log(arrToUp)
//["FULU", "NULU", "HULU"]

答案 3 :(得分:2)

您可以使用:

var a = ['this','is','test'];

a.map(f=>{ return f.toUpperCase(); });

答案 4 :(得分:1)

尝试循环遍历每个元素并使其成为大写。

for(var i = 0; i < array2.length; i++){
    array2[i] = array2[i].toUpperCase();
}

答案 5 :(得分:1)

您可以将方法toUpperCase()添加到Array.prototype:

Array.prototype.toUpperCase = function(){
   return this.map( (el) => (typeof el === "string") ? el.toUpperCase() : el)}

答案 6 :(得分:0)

据我所知,JavaScript并不真正支持数组的toUpperCase()函数。您必须创建一个forforeach循环来遍历数组,并在数组中的每个元素上调用.toUpperCase()

你也可以像这样创建一个小函数:other question on StackOverflow

答案 7 :(得分:0)

var arr = ["hamed","hassan","hema","zeiad","saad","omar","ali","sayed","ahmed"];
var str = String(arr).toUpperCase().split(",");

答案 8 :(得分:0)

Underscore.js

如果您使用的是Underscore.js,而不能使用ES6的细微之处,则类似于以下内容:

_.map( array2, function( value ){ return value.toUpperCase() } )

答案 9 :(得分:0)

您可以轻松转换为 uppercaselowercase

var my_array = ["melon","banana","apple","orange","lemon"];

function convertToUppercase() {
  var e = document.getElementById('show');
  e.innerHTML = "Uppercase: " + String(my_array).toUpperCase().split(",");
  console.log(String(my_array).toUpperCase().split(","));
}

function convertToLowercase() {
  console.clear();
  var e = document.getElementById('show');
  e.innerHTML = "Lowercase: " +  String(my_array).toLowerCase().split(",");
  console.log(String(my_array).toLowerCase().split(","));
}
button {
  background: #0095ff;
  color: white;
  border: none;
  border-radius: 3px;
  padding: 8px;
  margin: 10px;
  cursor: pointer;
  -moz-box-shadow: 0 0 8px #999;
  -webkit-box-shadow: 0 0 8px #999;
   box-shadow: 0 0 8px #999;
}

p {
  margin: 0;
}
<button onclick="convertToUppercase()">Convert to Uppercase</button>
<button onclick="convertToLowercase()">Convert to Lowercase</button>
<p id="show"></p>

答案 10 :(得分:0)

这可能是最简单的解决方案,无需遍历数组。

const yourArray = ["apple","banana"];
const upperCasedArray = String(yourArray).toUpperCase().split(",");
//OR
const upperCasedArray = yourArray.toString().toUpperCase().split(",");

发生的事情是首先我们将数组转换为字符串,然后使用字符串的 toUpperCase() 方法将该字符串全部大写,然后使用 "," 将其拆分,因此我们得到一个大写的新数组。

答案 11 :(得分:-1)

var name = ['Amit','Sumit','Kumit'];
var newname = name.join('-').toUpperCase().split();
console.log(newname);