append
Appends individual elements or another array, returning a new array. The first two overloads flatten both arrays to 1D before concatenating; the axis-based overload preserves dimensionality.
Signatures
// Append individual elements (flattens to 1D)
fun <T, D : Dimension> MultiArray<T, D>.append(vararg value: T): D1Array<T>
// Append another array (flattens to 1D)
infix fun <T, D : Dimension, ID : Dimension> MultiArray<T, D>.append(
arr: MultiArray<T, ID>
): D1Array<T>
// Append along a specific axis (preserves dimensionality)
fun <T, D : Dimension> MultiArray<T, D>.append(
arr: MultiArray<T, D>, axis: Int
): NDArray<T, D>
Parameters
Parameter | Type | Description |
|---|---|---|
|
| Individual elements to append. |
|
| Array whose elements are appended. |
|
| Axis along which to concatenate (only for the shaped overload). |
Returns:
Without
axis:D1Array<T>— a new flat 1D array with the appended elements.With
axis:NDArray<T, D>— a new array concatenated along the given axis.
Example
val a = mk.ndarray(mk[1, 2, 3])
// Append individual elements
a.append(4, 5) // [1, 2, 3, 4, 5]
// Append another array (flattened)
val b = mk.ndarray(mk[10, 20])
a append b // [1, 2, 3, 10, 20]
// Append along an axis
val m1 = mk.ndarray(mk[mk[1, 2], mk[3, 4]])
val m2 = mk.ndarray(mk[mk[5, 6]])
m1.append(m2, axis = 0)
// [[1, 2],
// [3, 4],
// [5, 6]]
28 February 2026