Array Functions

Hi All,

I have a requirement where there is a count eg. 12 containing {1,2,3,4,5,6,7,8,9,10,11,12} , from which i need to take out 3 lists like listA: {1,4,7,10}, listB: {2,5,8,11} and listC: {3,6,9,12} with uniform interval of 4. How can I achieve this in looping . You suggestion is appreciated.. Thanks

OriginalPostID-254666

  Discussion posts and replies are publicly visible

Parents
  • In case you need a generalized answer with more iterations- you can use following code:

    Rule 1:
    load(
    local!itemCount:fn!count(ri!list),
    local!minItemPerSubList:local!itemCount/ri!subListsCount,
    fn!apply(
    rule!getList(list:ri!list,subListsCount: ri!subListsCount,
    iteration:_,itemsPerSubList: local!minItemPerSubList),
    fn!enumerate(ri!subListsCount)+1
    )
    )


    Rule: getList:
    fn!index(ri!list,{fn!enumerate(ri!itemsPerSubList)+((ri!iteration-1)*ri!itemsPerSubList)+1},{})
Reply
  • In case you need a generalized answer with more iterations- you can use following code:

    Rule 1:
    load(
    local!itemCount:fn!count(ri!list),
    local!minItemPerSubList:local!itemCount/ri!subListsCount,
    fn!apply(
    rule!getList(list:ri!list,subListsCount: ri!subListsCount,
    iteration:_,itemsPerSubList: local!minItemPerSubList),
    fn!enumerate(ri!subListsCount)+1
    )
    )


    Rule: getList:
    fn!index(ri!list,{fn!enumerate(ri!itemsPerSubList)+((ri!iteration-1)*ri!itemsPerSubList)+1},{})
Children
No Data