javascript - 特殊数组:如果每个偶数索引包含一个偶数并且每个奇数索引包含一个奇数,则该数组是特殊的
问题描述
这段代码有什么问题?它显示错误。这应该是真的。
function isSpecialArray(arr) {
for(i=0; i<arr.length; i++){
return ((arr[i % 2 == 0]) % 2 == 0) && ((arr[i % 2 !==0]) % 2 !== 0)
}
}
console.log(isSpecialArray([2, 7, 4, 9, 6, 1, 6, 3])) // false??
解决方案
一旦发现第一个违反规则的元素,您就可以简化代码并避免不必要的循环。
使用for
循环
function isSpecial(arr) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] % 2 !== i % 2) return false
}
return true;
}
使用Array.prototype.every
function isSpecial(arr) {
return arr.every((item, index) => item % 2 === index % 2);
}
推荐阅读
- django - 连接到 Postgres 时的 Django 错误,不支持的启动参数:选项
- sql - 查询变量内部
- firebase - 后端服务的 Firebase Firestore 安全规则
- javascript - Sequelize 创建行包含多对多关系
- r - 有没有办法在 R 中对值进行分组?
- reactjs - 在 React 和 Shopify 中安全地存储第三方 API 机密
- pandas - Python 和 pandas:具有自定义函数且限制为 12 的 fillna
- css - 打字时自动格式化不起作用,我已经安装了一些扩展
- sql - SQLite 对 1 个 FK 的多个约束
- here-api - HERE 地图:使用 MapBox/Maplibre 进行矢量平铺渲染的更多样式