kembali ke pelajaran

Filter range "in place" / menyaring dengan jarak "secara langsung"

Tulis sebuah fungsi filteredRangeInPlace(arr, a, b) yang mendapatkan array arr dan menghilangkan seluruh nilai yang berada diantara a dan b. Testnya adalah: a ≤ arr[i] ≤ b.

Fungsinya haruslah hanya memodifikasi arraynya. Itu harus tidak mengembalikan apapun.

For instance:

let arr = [5, 3, 8, 1]; filterRangeInPlace(arr, 1, 4); // hapus angka kecuali dari 1 to 4 alert( arr ); // [3, 1]

Buka sandbox dengan tes.

function filterRangeInPlace(arr, a, b) { for (let i = 0; i < arr.length; i++) { let val = arr[i]; // hilangkan jika berada diluar interval if (val < a || val > b) { arr.splice(i, 1); i--; } } } let arr = [5, 3, 8, 1]; filterRangeInPlace(arr, 1, 4); // hilangkan angkanya kecuali dari 1 to 4 alert( arr ); // [3, 1]

Buka solusi dengan tes di sandbox.