javascript - 陷入回文迭代
问题描述
我个人无法弄清楚为什么这个函数会这样工作。变量“i”的值是每次迭代对吗?那么“str[str.length-i-1]”中的“i”是否意味着在从长度减去1之后跳过由split生成的数组元素之一?
例如,对于我的设想,一旦第二次迭代到来,它不会是:“racecar[7-2-1]”,因为 i 是 2?那么它会是racecar[4] 对吗?然而,racecar 是回文,所以它确实返回 true;许多挑战视频并没有解释为什么“i”会这样工作。任何有经验的帮助将不胜感激!
function palindrome2(str){
return str.split('').every((char, i)=> {
console.log(i)
return char === str[str.length-i-1]
});
}
console.log(palindrome2("racecar"))
解决方案
哦,我明白了!我一步一步把它拿出来,现在它更有意义了!“i”的控制台日志让我更加困惑..所以我只是在每次迭代后替换了我能做的一切。每个字母都匹配它迭代的每个索引!呜呼
function palindrome2(str){
return str.split('').every((r, 0)=> {
return r === racecar[7-0-1]
});
}function palindrome2(str){
return str.split('').every((a, 1)=> {
return a === racecar[7-1-1]
});
}
}function palindrome2(str){
return str.split('').every((c, 2)=> {
return c === racecar[7-2-1]
});
}
推荐阅读
- javascript - 无法在图像 div 周围插入框
- typescript - 打字稿中可选参数的语义
- elasticsearch - elasticsearch 术语聚合不正确
- java - 如何在使用 Graph sdk 创建上传会话时指定冲突行为
- go - CGO_ENABLED 如何影响动态与静态链接?
- powershell - 你可以在powershell中对函数返回进行内联操作吗?
- angular - dx-scheduler ANGULAR - 如何在调度程序中使用 angular 实现分页
- node.js - 使用 AWS ECS 运行 Node.Js 应用程序映像时如何访问 PM2 日志
- python-3.x - 无法在 TensorFlow 2.0 中打开源文件:'../common/maskApi.c'
- javascript - 使用 SetInterval 调用特定方法