All Products
Search
Document Center

MaxCompute:ZIP_WITH

Last Updated:Jul 02, 2025

Menggabungkan Array a dan Array b berdasarkan posisi elemen menggunakan penggabung, kemudian mengembalikan array baru.

Sintaksis

array<R> zip_with(array<T> <a>, array<S> <b>, function<T, S, R> <combiner>)

Parameter

  • a dan b: Wajib. Menentukan array. Tipe data elemen-elemen dalam array ditentukan oleh T dalam array<T> dan S dalam array<S>. Elemen-elemen dapat berupa tipe data apa saja.

  • combiner: Wajib. Menentukan fungsi bawaan, fungsi yang ditentukan pengguna, atau ekspresi untuk menggabungkan Array a dan Array b pada tingkat elemen. Penggabung memiliki dua parameter input. Salah satu parameter harus sesuai dengan tipe data elemen-elemen dalam Array a, sedangkan parameter lainnya harus sesuai dengan tipe data elemen-elemen dalam Array b.

Nilai kembali

Mengembalikan nilai dengan tipe ARRAY. Nilai kembali mengikuti aturan berikut:

  • Elemen-elemen dalam array hasil berada pada posisi yang sama dengan elemen-elemen dalam Array a dan Array b.

  • Jika panjang Array a dan Array b berbeda, elemen null akan ditambahkan ke array yang lebih pendek sebelum digabungkan.

Contoh

-- Nilai kembali adalah [2, 4, 6, null]. 
select zip_with(array(1,2,3), array(1,2,3,4), (x,y) -> x + y);
Catatan

Dalam contoh ini, kombinasi tanda hubung dan tanda kurung penutup (->) digunakan. Untuk informasi lebih lanjut tentang penggunaan kombinasi tanda hubung dan tanda kurung penutup (->) dalam fungsi Lambda, lihat Fungsi Lambda.

Fungsi terkait

ZIP_WITH adalah fungsi tipe kompleks. Untuk informasi lebih lanjut tentang fungsi-fungsi yang digunakan untuk memproses data dari tipe data kompleks seperti ARRAY, MAP, STRUCT, dan JSON, lihat Fungsi Tipe Kompleks.