Table of Contents
src / helpers / array_helper.gd
Attached Scenes
|
Note
|
No attached scenes. |
Code
extends Node
class_name ArrayHelper
static func sum(arr: Array, attr_or_func: String) -> int:
if attr_or_func.ends_with('()'):
var f_name = attr_or_func.replace('()', '')
return arr.reduce(func(accum, r):
if not r: return accum
return accum + int(r.call(f_name)), 0)
else:
return arr.reduce(func(accum, r):
if not r: return accum
return accum + int(r.get(attr_or_func)), 0)
static func build(number: int, value: Variant = null) -> Array:
var arr = []
for i in number: arr.push_back(value)
return arr
static func diff(arr_a: Array, arr_b: Array) -> Array:
return arr_a.filter(func(x): return not arr_b.has(x))