我有一段JavaScript代码使用for循环来反转字符串.但是,我想知道是否可以使用for in循环,我将如何进行呢?
function reverse(str){
var reversedString = '';
for (var i = str.length - 1; i >= 0; i--){
reversedString = reversedString + str[i];
}
return reversedString;
}
alert(reverse('hello'));
Run Code Online (Sandbox Code Playgroud)
来自MDN Docs
for ... in不应该用于迭代索引顺序很重要的数组.
数组索引只是具有整数名称的可枚举属性,并且与一般对象属性相同.无法保证for ... in将以任何特定顺序返回索引.for ... in循环语句将返回所有可枚举属性,包括具有非整数名称和继承的属性.
因为迭代的顺序是依赖于实现的,所以迭代数组可能不会以一致的顺序访问元素.因此,在迭代访问顺序很重要的数组时,最好使用带有数字索引(或Array.prototype.forEach()或for ... of循环)的for循环.
let iterable = '1234567';
String.prototype.hello = "hello"; // doesn't affect
let reversed = "";
for (let value of iterable) {
reversed = value + reversed;
}
console.log(reversed);
Run Code Online (Sandbox Code Playgroud)
Feature Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 38 12 131 No 25 8
Run Code Online (Sandbox Code Playgroud)
休息for..in
(见你好匍匐)
let iterable = '1234567';
String.prototype.hello = "hello";
let reversed = "";
for (let index in iterable) {
reversed = iterable[index] + reversed;
}
console.log(reversed);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
487 次 |
最近记录: |