通过更改起始索引并使用Javascript中的高阶函数递增2来操作2D数组
Manipulating 2D arrays by changing the start index and incrementing by 2 using Higher Order functions in Javascript
假设我有一个44行9列的巨大游戏板。它看起来是这样的:
var rows = Array(44).join(' ').split('').map(function() { return Array(9); });
仅使用高阶函数(循环不使用),如何首先将偶数列的循环索引从1开始,然后如何递增2进行迭代。
这就是您想要实现的目标吗?
Array(44).join(' ').split('').map(function(row,rowIndex)
{
return Array(9).join(' ').split('').map(function(column,columnIndex)
{
return columnIndex *2 + 1 - rowIndex%2 ;
});
});
这里有一个不太漂亮的ecmascript 6方式:
var rows = Array(44).join(' ').split('').map(function() { return Array(9); });
Array.from(new Array(Math.floor(rows.length/2)), (x,i) => i*2+1).map(function(i){
console.log(i,rows[i])
})
不确定这是否算作for循环:
[for (i of rows.keys()) if (i%2==1) i].map(function(i){
console.log(i, rows[i])
})
相关文章:
- JavaScript 中的高阶函数
- 避免在JS中重复使用高阶函数
- 回调和高阶函数Javascript
- 什么's将命名函数传递给Javascript的正确方法's的高阶函数
- Javascript如何使用高阶函数和Map/Reduce函数来汇总多个数组
- 使用JavaScript中的高阶函数概念,用Python编写纯函数代码
- 在高阶函数 JavaScript 中传递参数
- 如何在 Javascript 中使用高阶函数反转数组
- Eloquent JavaScript,第 2 版,第 5 章高阶函数
- JS中的高阶函数
- GHCJS:如何使用 FFI 导入高阶 JavaScript 函数
- 这个高阶函数有什么问题
- 如何在 Indesign 脚本中使用像 Array.reduce() 这样的高阶函数
- 此函数如何修改另一个函数?(高阶函数)
- 在es6类中从高阶函数中定义一个方法
- 将其绑定到高阶函数中的原始对象
- 高阶函数中的Javascript对象克隆
- 通过更改起始索引并使用Javascript中的高阶函数递增2来操作2D数组
- 将函数传递给另一个函数时的高阶函数说明
- 了解Javascript中的高阶函数