如何仅使用 while 循环将带有普通 ECMAscript5 的数组转换为大写字母?
how to convert to upper case an array with plain ECMAscript5 just using while loop?
我必须做这个简单的练习,但我真的很费劲。我必须将所有名称转换为大写并将其传递给空数组,仅使用 while 循环,我不能使用任何方法,只是简单的 javascript 5:
var names = ['rob', 'dwayne', 'james', 'larry', 'steve'];
var UpperCase = [];
我试过这样的对象(还有一些错误,这只是一个想法):
var change = {
"mary":"MARY",
"john":"JOHN",
"james":"JAMES",
"anna":"ANNA",
"jack":"JACK",
"jeremy":"JEREMY",
"susanne":"SUSANNE",
"caroline":"CAROLINE",
"heidi":"HEIDI"
}
for(var key in change) {
var obj = change[key];
for (var prop in obj) {
var value = obj[prop];
}
}
while(names[i]===change.key) {
for(var i=0; i<names.length; i++) {
UpperCase = change.value[i];
} }
我希望有人能帮我解决这个问题。
谢谢!
您需要创建一个增量 (i),以便您的 while 循环知道何时停止。对于 for 循环来说更好,但 while 循环也可以。
var names = ['rob', 'dwayne', 'james', 'larry', 'steve']
var i = 0
var result = []
while (i < names.length) {
result.push(names[i].toUpperCase())
i++
}
console.log(result)
你应该在地图中使用处理函数:
var names = ['rob', 'dwayne', 'james', 'larry', 'steve'];
var UpperCase = names.map(function(x){ return x.toUpperCase() });
改进@andrewgi 的回答:
var names = ['rob', 'dwayne', 'james', 'larry', 'steve']
var i = 0
var result = []
while (i < names.length) {
result.push(names[i].toUpperCase())
i++
}
console.log(result)
我在 names.length
检查后删除了 +1
,并使用正确的驼峰式拼写 toUpperCase
。
而不是使用 toUppercase():
用这个检查一个字符是大写还是小写
str[i].charCodeAt(0) > 96
只使用 while
var i = 0;
while (i < str.length) ...
数组没有使用 push 函数
UPPERCASE[UPPERCASE.length] = uppercase(names[i]);
希望这个功能对你有帮助
function uppercase(str) {
var i = 0;
var output = "";
while (i < str.length) {
var x =
(str[i].charCodeAt(0) > 96)
? String.fromCharCode(str[i].charCodeAt(0) - 32)
: String.fromCharCode(str[i].charCodeAt(0));
output += x;
i++;
}
return output;
}
示例:
function uppercase(str) {
var i = 0;
var output = "";
while (i < str.length) {
var x =
(str[i].charCodeAt(0) > 96) ?
String.fromCharCode(str[i].charCodeAt(0) - 32) :
String.fromCharCode(str[i].charCodeAt(0));
output += x;
i++;
}
return output;
}
var UPPERCASE = [];
var names = ["rOb", "dwayne", "james", "larry", "steve"];
var i = 0;
while (i < names.length) {
UPPERCASE[UPPERCASE.length] = uppercase(names[i]);
i++;
}
console.log(UPPERCASE);
更新
没有函数和线性条件的答案
var UPPERCASE = [];
var names = ["rOb", "dwayne", "james", "larry", "steve"];
var i = 0;
while (i < names.length) {
var j = 0,
output = "",
str = names[i];
while (j < str.length) {
var x;
if (str[j].charCodeAt(0) > 96) {
x = String.fromCharCode(str[j].charCodeAt(0) - 32);
} else {
x = String.fromCharCode(str[j].charCodeAt(0));
}
output += x;
j++;
}
UPPERCASE[UPPERCASE.length] = output;
i++;
}
console.log(UPPERCASE);
我必须做这个简单的练习,但我真的很费劲。我必须将所有名称转换为大写并将其传递给空数组,仅使用 while 循环,我不能使用任何方法,只是简单的 javascript 5:
var names = ['rob', 'dwayne', 'james', 'larry', 'steve'];
var UpperCase = [];
我试过这样的对象(还有一些错误,这只是一个想法):
var change = {
"mary":"MARY",
"john":"JOHN",
"james":"JAMES",
"anna":"ANNA",
"jack":"JACK",
"jeremy":"JEREMY",
"susanne":"SUSANNE",
"caroline":"CAROLINE",
"heidi":"HEIDI"
}
for(var key in change) {
var obj = change[key];
for (var prop in obj) {
var value = obj[prop];
}
}
while(names[i]===change.key) {
for(var i=0; i<names.length; i++) {
UpperCase = change.value[i];
} }
我希望有人能帮我解决这个问题。
谢谢!
您需要创建一个增量 (i),以便您的 while 循环知道何时停止。对于 for 循环来说更好,但 while 循环也可以。
var names = ['rob', 'dwayne', 'james', 'larry', 'steve']
var i = 0
var result = []
while (i < names.length) {
result.push(names[i].toUpperCase())
i++
}
console.log(result)
你应该在地图中使用处理函数:
var names = ['rob', 'dwayne', 'james', 'larry', 'steve'];
var UpperCase = names.map(function(x){ return x.toUpperCase() });
改进@andrewgi 的回答:
var names = ['rob', 'dwayne', 'james', 'larry', 'steve']
var i = 0
var result = []
while (i < names.length) {
result.push(names[i].toUpperCase())
i++
}
console.log(result)
我在 names.length
检查后删除了 +1
,并使用正确的驼峰式拼写 toUpperCase
。
而不是使用 toUppercase():
用这个检查一个字符是大写还是小写
str[i].charCodeAt(0) > 96
只使用 while
var i = 0;
while (i < str.length) ...
数组没有使用 push 函数
UPPERCASE[UPPERCASE.length] = uppercase(names[i]);
希望这个功能对你有帮助
function uppercase(str) {
var i = 0;
var output = "";
while (i < str.length) {
var x =
(str[i].charCodeAt(0) > 96)
? String.fromCharCode(str[i].charCodeAt(0) - 32)
: String.fromCharCode(str[i].charCodeAt(0));
output += x;
i++;
}
return output;
}
示例:
function uppercase(str) {
var i = 0;
var output = "";
while (i < str.length) {
var x =
(str[i].charCodeAt(0) > 96) ?
String.fromCharCode(str[i].charCodeAt(0) - 32) :
String.fromCharCode(str[i].charCodeAt(0));
output += x;
i++;
}
return output;
}
var UPPERCASE = [];
var names = ["rOb", "dwayne", "james", "larry", "steve"];
var i = 0;
while (i < names.length) {
UPPERCASE[UPPERCASE.length] = uppercase(names[i]);
i++;
}
console.log(UPPERCASE);
更新
没有函数和线性条件的答案
var UPPERCASE = [];
var names = ["rOb", "dwayne", "james", "larry", "steve"];
var i = 0;
while (i < names.length) {
var j = 0,
output = "",
str = names[i];
while (j < str.length) {
var x;
if (str[j].charCodeAt(0) > 96) {
x = String.fromCharCode(str[j].charCodeAt(0) - 32);
} else {
x = String.fromCharCode(str[j].charCodeAt(0));
}
output += x;
j++;
}
UPPERCASE[UPPERCASE.length] = output;
i++;
}
console.log(UPPERCASE);