array mati, vektor hack!

Menarik dari standup hari ini; seorang engineer ingin menyaring array dan menghapus semua nilai null.

Mengingat array seperti ini:

[code lang=text]
$alpha = [null, ‘b’, ‘c’];
[/code]

Dia mencoba untuk menyaring nilai-nilai dengan kode ini:

[code lang=text]
array_filter($alpha, function($val) {
return !is_null($val);
});
[/code]

Masalahnya adalah dia berharap $alpha[0] menjadi 'b'… sayangnya array terlihat seperti ini:

[code lang=text]
[ 1 => ‘b’, 2 => ‘c’ ]
[/code]

Ini adalah pengingat bahwa array_filter mempertahankan keys. Jika anda ingin mengabaikan kunci, anda harus memanggil array_values pada hasil.

Kemudian array akan bagus dan padat.:

[code lang=text]
array_filter($alpha, function($val) {
return !is_null($val);
});
$alpha = array_values($alpha);
// [ 0 => ‘b’, 1 => ‘c’ ]
[/code]

Tapi,

Mengapa ada orang yang menggunakan array? Mereka sudah tua dan usang, mari kita gunakan Vektor dari HHVM! Vektor Hack ini bekerja seperti yang Anda harapkan, untuk mendapatkan array dengan keys baru.

[code lang=text]
$alpha_vector = new HHVector($alpha)
$alpha_vector->filter(function($e) {
return !is_null($e);
});
// [ 0 => ‘b’, 1 => ‘c’ ]
[/code]

Jauh lebih cantik! Terimakasih Zuck untuk HHVM!

Related Posts

Streaming Festival Disrupto Exploration and Experimentation 2020

Streaming Festival Disrupto Exploration and Experimentation 2020

Resiko Berbahaya menggunakan VPN gratisan di Laptopmu!

Resiko Berbahaya menggunakan VPN gratisan di Laptopmu!

Part II — Understanding about RuleChain

Mengenal dasar RxSwift

No Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Tags