應(yīng)用背景
- 給定模式P=[1, 3, 1, 3, 3, 1, 3, 3, 3]妆艘,注意到模式中僅有[1戳鹅、3]兩種元素校焦;
- 給定可選元素=['A', 'B', 'C', 'D', 'E'];
- 隨機(jī)抽取可選元素(假設(shè)抽中['B', 'E'])構(gòu)建長(zhǎng)度為9焰手、6孽拷、11的符合模式P的序列,為:
9: ['B', 'E', 'B', 'E', 'E', 'B', 'E', 'E', 'E']
6: ['B', 'E', 'B', 'E', 'E', 'B']
11:['B', 'E', 'B', 'E', 'E', 'B', 'E', 'E', 'E', 'B', 'E', 'B']
使用方法
var Utils = require('geoUtils');
var P = [1, 3, 1, 3, 3, 1, 3, 3, 3];
var itemsFrom = ['A', 'B', 'C', 'D', 'E'];
var seq9 = Utils.array.buildSequence(itemsFrom, P, 9);
var seq6 = Utils.array.buildSequence(itemsFrom, P, 6);
var seq11 = Utils.array.buildSequence(itemsFrom, P, 11);
// 結(jié)果
// seq9 = ['B', 'E', 'B', 'E', 'E', 'B', 'E', 'E', 'E']
// seq6 = ['B', 'E', 'B', 'E', 'E', 'B']
// seq11 = ['B', 'E', 'B', 'E', 'E', 'B', 'E', 'E', 'E', 'B', 'E', 'B']
方法說(shuō)明
源碼位于geoArrayUtils.js