Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将for循环中字符串的索引作为目标?_Javascript_String_For Loop - Fatal编程技术网

Javascript 如何将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

我正在处理一个代码挑战,我想针对奇数和偶数索引。我的代码基于,我甚至不能在控制台上记录for循环。然而,当我尝试在节点中定位索引时,它工作得很好。这是我的密码:

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
,对于
奇数
应为相同。