开发技巧:获取序列中的排列模式
2019-02-15 本文已影响0人
iqxtreme
应用情景
- 设序列A=[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2];
- 设序列B=[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 3];
- A中包含的模式为:[1,2,3]、[1,2,3,1,2,3],最后的[1,2]可以看作不完整的[1,2,3],所以不会破坏规律;
- B中包含的模式为:无,因为最后那个3使得完全没有规律了。
使用方法
var Utils = require('geoUtils');
var A = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2];
var B = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 3];
var resultA = Utils.array.findPatternsInSequence(A);
var resultB = Utils.array.findPatternsInSequence(B);
// 结果
// resultA = [
// [1, 2, 3],
// [1, 2, 3, 1, 2, 3]
// ]
// resultB = []
方法说明
源码在geoArrayUtils.js中
- 使用该方法即可找到序列中存在的所有排列模式;
- 若仅仅判断序列中是否有模式,只需要检查方法返回的数组是否为空数组。