首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

JS使用循环指定倍数分割数组组成新的数组的方法

今天一个新人同事问了我一个问题,就是有一个像下边这种不知道具体长度的数组,想以每4个为一组,重新组合为一个二维数组,很简单的需求只需要用到一个循环再去取余数就可以了,写了一个小demo在这里把代码包括注释贴出来供新人参考...var currData = []; //子数组用来存分割完的数据 //循环需要处理的数组 for(var i = 0; i < chartArr.length...; i++) { //将chartArr[i]添加到子数组 currData.push(chartArr[i]); console.log...(i) //在这里求4的余数,如果i不等于0,且可以整除 或者考虑到不满4个或等于4个的情况就要加上 i等于当前数组长度-1的时候 if((i !...); //在这里清空currData currData = []; } }; 下图是处理完的二维数组

3.1K70

JS实现计算最少回文切割

如果字符串整体是回文,则需要0次分割,最少1个字符串 实现思路: 我们的基本思路是这样:首先,找出所有的回文子串(见下面分析),然后找出所有可以对整个字符串进行回文分割的实现方案,最后我们从这些所有可行方案中找出切割术最少的方案...基本代码如下: js代码实现如下: 我们以符号"_"来分割开始和结束位置,比如从字符串的第二个字符到第5个字符是个子回文,那么上述函数返回的结果中属性'2_5'为TRUE,否则为false....我结合了js语言的特性,运用hash来进行处理。当然也可以考虑用数组实现。...思路如下: 我们可以获取所有的单个字符开头的回文子串的数组,并组装成一个hash,然后对hash进行遍历,在另一个对象中(或以数组实现也可),找到以当前遍历属性(以"_"分隔)的开始值减一为结尾的所有属性组成数组...最后,我们只需要再次遍历数组,找到所有切割数最少的方案即可。 所有代码 所有的代码实现如下。其中可能还有可以优化的地方,可再仔细琢磨一下。

1.2K90

LeetCode - 奇偶排序数组

这题很容易联想到之前发过的LeetCode - 奇偶排序数组② 原题地址:https://leetcode-cn.com/problems/sort-array-by-parity/ 题目描述:...给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。...你可以返回满足此条件的任何数组作为答案。 示例: 输入:[3,1,2,4] 输出:[2,4,3,1] 输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。...这题的题目和解法其实都不是很难,题目很好理解,数组里面先偶数...首先新建一个数组,这个数组就是之后返回的数组,所以这个方法会需要占用一点内存。 然后遍历原数组A,判断每个元素是否是偶数,偶数从头往后放,奇数从后往前放,一次遍历即可。

1.2K10
领券