diff options
Diffstat (limited to 'model/array.go')
-rw-r--r-- | model/array.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/model/array.go b/model/array.go index b3d2586..5d64209 100644 --- a/model/array.go +++ b/model/array.go @@ -30,3 +30,13 @@ func (n *Node) Each(cb func(idx int, value *Node) error) error { } return nil } + +// RemoveIndex from array +func (n *Node) RemoveIndex(idx int) error { + arrlen := len(n.arrayValue) + if idx >= arrlen { + return fmt.Errorf("index %d out of range (len=%d)", idx, arrlen) + } + n.arrayValue = append(n.arrayValue[:idx], n.arrayValue[idx:]...) + return nil +} |