[SOLVED] JSR223 Javascript

For iterating over group members…

ir.getItem("gTest").members.forEach(function (item) {
    // do stuff
});

Or in Jython

for item in ir.getItem("gTest").members:
    #do stuff

The JS helper libraries and docs will be getting setup like Jython very soon! For your specific needs (untested)…

//fgEmptyBatteries.members.forEach[ item | fgEmptyBatteries.removeMember(item)]|
var group1 = ir.getItem("fgEmptyBatteries")
group1.members.forEach(function (item) {
    group1.removeMember(item);
});

//fgBatteries.allMembers.filter( s | s.state < 15).forEach[ item | fgEmptyBatteries.addMember(item)]|
val group2 = ir.getItem("fgBatteries")
group2.allMembers.forEach(function (item) {
    if (item.state < 15) {
        group1.addMember(item);
    }
});

Someone might be able to provide a better way to do the filter.

In Jython…

#fgEmptyBatteries.members.forEach[ item | fgEmptyBatteries.removeMember(item)]|
group1 = ir.getItem("fgEmptyBatteries")
for item in group1.members:
    group1.removeMember(item)

#fgBatteries.allMembers.filter( s | s.state < 15).forEach[ item | fgEmptyBatteries.addMember(item)]|
group2 = ir.getItem("fgBatteries")
for item in filter(lambda item: item.state < 15, group2.allMembers):
    group1.addMember(item)