我有一个数组,我想改成大写,但我不能让它工作。请帮我。
var array2 = ["melon","banana","apple","orange","lemon"];
array2.toUpperCase()
我也尝试了以下但它既不起作用。
array2.map(toUpperCase);
提前致谢!
答案 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()
函数。您必须创建一个for
或foreach
循环来遍历数组,并在数组中的每个元素上调用.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,而不能使用ES6的细微之处,则类似于以下内容:
_.map( array2, function( value ){ return value.toUpperCase() } )
答案 9 :(得分:0)
您可以轻松转换为 uppercase
或 lowercase
。
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);