Array Operator Objects
justsml opened this issue · 1 comments
justsml commented
Array methods using object-syntax
Proposed array extensions
Simple .map
{
map: 'itemList',
run: { return: '$item.id' },
}
Complex .map
Filters out negative scores, creates return object scoreById
:
[
'idList = [12, 34, 56]',
'userScore = {"12": 99.9, "34": 100.1, "56": -42.0 }',
{
map: 'idList',
run: [
{ if: 'userScore[$item] < 0', then: 'userScore[$item] = 0' },
'set("scoreById", $item, userScore[$item])'
],
},
{ return: 'scoreById' }
]
Reduce
[{
reduce: '[1, 2, 3, 4]',
run: '$item * 2 + $index',
set: 'results',
}, { return: 'results' }]
Filter
[{
filter: '[1, 2, 3, 4]',
run: '$item % 2 == 0',
set: 'evenNumbers',
}, { return: 'evenNumbers' }]
chhatch commented
Object literals aren't supported yet. 'userScore = {"12": 99.9, "34": 100.1 }'
become inpur.userScore = [100.1 , undefined]