Javascript 如何将for循环中字符串的索引作为目标?
我正在处理一个代码挑战,我想针对奇数和偶数索引。我的代码基于,我甚至不能在控制台上记录for循环。然而,当我尝试在节点中定位索引时,它工作得很好。这是我的密码:Javascript 如何将for循环中字符串的索引作为目标?,javascript,string,for-loop,Javascript,String,For Loop,我正在处理一个代码挑战,我想针对奇数和偶数索引。我的代码基于,我甚至不能在控制台上记录for循环。然而,当我尝试在节点中定位索引时,它工作得很好。这是我的密码: let newString = '' for (let even, odd= 1; even < string.length; even + 2, odd + 2) { newString += string[even] + string[odd] } console.log(newString) let new
let newString = ''
for (let even, odd= 1; even < string.length; even + 2, odd + 2) {
newString += string[even] + string[odd]
}
console.log(newString)
let newString=''
for(设偶数,奇数=1;偶数
您需要初始化这两个变量,而不仅仅是odd
您需要使用递增的值重新分配变量,否则您将有一个无限循环
let newString = '';
for (let even = 0, odd = 1; even < string.length; even += 2, odd += 2) {
newString += string[even];
if (odd < string.length) { // avoid incorrect result if string has odd length
newString += string[odd];
}
}
console.log(newString);
let newString='';
for(设偶数=0,奇数=1;偶数
实际上不需要使用
奇数
变量,因为它总是偶数+1
,但我把它放在了里面。这一个更简单,并且包含了上面评论中提出的建议
let newString = '';
for (let even = 0; even < string.length - 1; even += 2) {
newString += string[even] + string[even + 1];
}
console.log(newString);
let newString='';
for(设偶数=0;偶数
以下是我的代码建议。千万别忘了测试索引范围溢出,否则你会在字符串末尾得到一个非常糟糕的“未定义”的结果
let newString = '';
for (let index = 0; index < string.length; index+=2) {
newString += string[index] + (string[index + 1] || '');
}
console.log(newString);
let newString='';
for(让索引=0;索引
您的代码不会初始化偶数
,也不会增加任何一个变量。对于长度不偶数的字符串,这将无法正常工作(在通过Pointy解决了前面提到的问题之后)。这应该做什么?如果您修复了这些错误,它将只复制字符串。您打算交换偶数和奇数元素吗?您不会得到console.log()
,因为您有一个无限循环,因为您从不增加变量<代码>偶数+2应为偶数+=2
,对于奇数
应为相同。