Mengalih keluar Rentetan Kosong daripada Tatasusunan dalam Javascript
Apabila berurusan dengan manipulasi tatasusunan, mengalih keluar elemen kosong boleh menjadi keperluan biasa. Javascript menawarkan pelbagai kaedah untuk menyelesaikan tugas ini.
Penyelesaian Cekap:
Kaedah yang paling mudah ialah menggunakan fungsi penapis() untuk menghapuskan elemen kosong berdasarkan boolean mereka penilaian:
const arr = [1, 2, "", 3, "", -3, null, "", 0, "", undefined, 4, "", 4, "", 5, "", 6, "",""]; arr.filter(n => n); // Result: [1, 2, 3, -3, 0, 4, 4, 5, 6]
Alternatif Pendekatan:
Pilihan lain ialah memanfaatkan sama ada fungsi Number() atau Boolean() untuk menapis nilai angka atau kebenaran:
arr.filter(Number); // Result: [1, 2, 3, -3, 4, 4, 5, 6] arr.filter(Boolean); // Result: [1, 2, 3, -3, 4, 4, 5, 6]
Kaedah Khusus Teks:
Jika tatasusunan mengandungi hanya rentetan teks, anda boleh menukarnya kepada rentetan, alih keluar kosong rentetan, dan kemudian tukarkannya kembali kepada tatasusunan:
arr.join('').split(''); // Result: ["1", "2", "3", "4", "5"]
Pendekatan Berulang:
Untuk pendekatan yang lebih klasik, anda boleh mengulangi tatasusunan dan tidak bergerak -nilai kosong hingga akhir:
const arr = [1, 2, null, undefined, 3, "", 3, "", 0, null, [], "", {}, "", 5, "", 6, "",""]; for (let i = 0, len = arr.length; i < len; i++) { arr[i] && arr.push(arr[i]); // Copy non-empty values to the end } arr.splice(0, len); // Remove empty values from the beginning // Result: [1, 2, 3, 3, [], {}, 5, 6]
jQuery Penyelesaian:
Jika anda menggunakan jQuery, anda boleh menggunakan fungsi $.grep() untuk menapis nilai kosong:
arr = $.grep(arr, n => n == 0 || n); // Result: [1, 2, 3, 3, 0, 4, 4, 5, 6]
Kaedah ini menyediakan pilihan yang cekap dan serba boleh untuk mengalih keluar elemen kosong daripada tatasusunan dalam Javascript, bergantung pada keperluan khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Rentetan Kosong dengan Cekap daripada Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!