我写了一个 JS 构造函数来反转字符串变量:
function ReverseString(string) {
this.str = string;
var size = this.str.length;
this.reverse = function () {
for(size; size >= 0; --size) {
console.log(this.str[size]);
}
}
}
当我在新的字符串对象上调用反向方法时("asd"
)它产生以下输出:
undefined
d
s
a
哪里有这个undefined
来自?你能帮我消除这个吗?
The length
问题已经解释了。为了解决它,你可以使用:
function ReverseString(string) {
this.str = string;
var size = this.str.length;
this.reverse = function () {
while(size--) {
console.log(this.str[size]);
}
}
}
反转字符串的另一种(更简单的方法)是将其拆分为一个数组,反转该数组,然后再次连接:
somestring.split('').reverse().join('');
应用于您的方法,类似于此代码片段:
var result = document.querySelector('#result');
function ReverseString(string) {
this.str = string;
this.reverse = function() {
var rev = this.str.split('').reverse();
void(rev.map(function(v) {
result.innerHTML += v + '<br>';
}));
this.reversed = rev.join('');
};
}
var myReversed = new ReverseString('hello world');
myReversed.reverse();
<div id="result"></div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)