在JavaScript中为数组添加空格
Adding space in an array in JavaScript
我正在尝试制作一款绞刑游戏。我有一个函数,它接受这个单词,并创建一个新的下划线破折号数组。我已经很好地工作了,但现在我正试图添加有间距的功能,以便增加单词。但现在它添加了随机空格。
帮忙吗?
function dash(word) {
var dash = [];
for (var i = word.length - 1; i >= 0; i--) {
if (word[i] == " ") {
dash.push(" ");
} else {
dash.push("_");
}
}
return dash;
}
这些空格不是随机的——它们是反向的。
那是因为你从头到尾都在说话:
而不是for (var i = word.length - 1; i >= 0; i--)
try it:
function dash(word) {
var dash = [];
for (var i = 0; i < word.length; i++) {
if (word[i] == " ") {
dash.push(" ");
} else {
dash.push("_");
}
}
return dash;
}
这并不是在添加随机空格,它只是向后,因为你是向后遍历字符串。你要从最后开始,一步步走到最前面。它适用于由单个单词组成的字符串,因为您总是只有一定数量的空格。
只改变
for (var i = word.length - 1; i >= 0; i--)
for (var i = 0; i < word.length; i++)
这里有一些东西可以在你的控制台中运行来测试:
function dash(word) {
var dash = [];
for (var i = 0; i < word.length; i++) {
if (word[i] == " ") {
dash.push(" ");
} else {
dash.push("_");
}
}
return dash;
}
var dashedSingle = dash('Testing');
var dashedMultiple = dash('Testing this sentence now');
console.log(dashedSingle)
console.log(dashedMultiple)
在for循环....中以相反的顺序遍历元素我试过了,工作得很好…
function dash(word) {
var dash = [];
for (var i = 0; i <=word.length - 1; i++) {
if (word[i] == " ") {
dash.push(" ");
} else {
dash.push("_");
}
}
return dash;
}
如果你只是想要你的单词在一个数组中,你可以使用String.prototype.split
为你做这项工作。然后映射到字符数组。
var word = 'javascript is awesome'
console.log(
word.split('').map(letter => letter === ' ' ? ' ' : '_')
)
应该使用ASCII值的空格代替word[i] == " "
我不确定javascript中空格的ASCII值。但是不用担心,你可以使用charCodeAt();
word[i] == charCodeAt(" ")
相关文章:
- 在点后添加空格,但不在 URL 中添加空格
- 在逗号和句号后添加空格,但如果是十进制分隔符,则不添加空格
- Regex用于在特定条件下为新句子添加空格或句号
- 如何在字符串变量的开头和末尾添加空格
- 在字符串 jquery 中添加空格
- 在图像之前添加空格,javascript
- 在 JavaScript 中使用正则表达式在单词的任一侧添加空格
- 在选择选项中添加空格
- 根据类添加空格以保存文本文件
- 如何创建一个在字符串中查找大写字母并添加空格的函数
- Javascript匹配字符并在两者之间添加空格
- 在数字后添加空格
- 如何在正则表达式中添加空格
- 在 Javascript document.write 中添加空格
- 如何在高图表字幕选项中添加空格
- JavaScript正则表达式为字符串中的每个项目添加空格
- 在x轴和带时间刻度的直线之间添加空格
- 如何在 ng 重复元素后添加空格
- 根据元素宽度向javascript字符串添加空格
- 在TinyMCE中键入时,在字符前添加空格