JS算法与数据结构 - 野夫
行列互换
将一个数组中的行和列进行互换,应用场景:消消乐中找到横竖排相连的3个相同的元素 (横排好找,找到竖排中的相同元素就主要用到了行列互换)
/** * 行列互换函数 * @param {array} arr 输入的原始数组, 一维数组 * @param {Num} rowSize 每行的列个数 * @return {array} resultArr 新的数组 */function changeXY(arr, rowSize) { var resultArr = [], iNow = 0; (function() { if (iNow == rowSize) return; for (var i = 0; i < arr.length; i++) {if (i % rowSize == iNow) { resultArr.push(arr[i]);} }; iNow++; arguments.callee(); })(); return resultArr;}