Mungkin ada contoh di mana Anda mungkin ingin menghapus nilai palsu dari sebuah array. Nilai palsu adalah nilai dalam JavaScript yang dievaluasi menjadi FALSE. Hanya ada enam nilai palsu dalam JavaScript dan itu adalah,
- belum diartikan
- batal
- NaN
- 0
- "" (string kosong)
- Salah
Cara termudah untuk memfilter nilai-nilai palsu ini adalah dengan menggunakan fungsi di bawah ini
myArray .filter(Boolean);Jika Anda ingin membuat beberapa modifikasi pada larik Anda dan kemudian memfilter larik baru, Anda dapat mencoba sesuatu seperti ini. Perlu diingat bahwa myArray asli tetap tidak berubah
Kami diminta untuk menulis fungsi JavaScript yang mengambil array yang berisi bilangan bulat dan nomor string
Fungsi kita harus menjumlahkan semua bilangan bulat dan nomor string untuk mendapatkan nomor baru dan mengembalikan nomor itu
Kami diminta untuk menulis fungsi JavaScript yang mengambil string yang berisi beberapa angka satu digit di antaranya dan fungsi tersebut harus mengembalikan jumlah semua angka yang ada dalam string
Katakanlah yang berikut ini adalah string kami dengan angka -
const str = 'gdf5jhhj3hbj4hbj3jbb4bbjj3jb5bjjb5bj3';_Contoh
Mari kita tulis kode untuk ini -
const str = 'gdf5jhhj3hbj4hbj3jbb4bbjj3jb5bjjb5bj3'; const sumStringNum = str => { const strArr = str.split(""); let res = 0; for(let i = 0; i < strArr.length; i++){ if(+strArr[i]){ res += +strArr[i]; }; }; return res; }; console.log(sumStringNum(str));Keluaran
Output di konsol −
35Jika Anda berpikir tentang string sebagai larik karakter, maka for… (of) loop hanya mengulangi setiap karakter dalam string itu
Pada contoh kedua, sekali lagi perlakukan str sebagai larik karakter, gunakan operator spread untuk benar-benar menjadikannya larik, lalu gunakan Array. fungsi reduce() untuk menjumlahkan setiap karakter. Ini adalah cara yang cukup canggih untuk melihat fungsi, menggunakan "fungsi panah gemuk" dan singkatannya, tetapi ketika Anda merasa nyaman dengan pendekatan itu, masuk akal. Daripada melihat bagaimana Anda harus mengulangi kumpulan hal ("haruskah saya menggunakan for loop?", "haruskah saya menggunakan while loop?"), Anda cukup melihat apa yang ingin Anda lakukan dengan data itu sendiri
Metode seperti pengurangan, pemetaan, dan filter sangat bagus karena mengabstraksi bagaimana dan membiarkan Anda menangani apa
Masalah. Menambahkan string yang berisi angka TIDAK menambahkannya. Sebagai gantinya, string digabungkan ❌
Larutan. Ubah string menjadi angka. Kemudian Anda dapat menghitung jumlahnya ✅
const string = '100'; const number = 5; // This doesn't return the sum, it's concatentated console.log(string + number); // 1005 // Prepend string with "+" to calculate the sum console.log(+string + number); // 105 _
Sumber daya
- Transmisikan ke Angka dalam JavaScript menggunakan Operator Unary (+).
Berita gembira berikutnya Hapus Duplikat Array menggunakan ES6 Set
- Bagikan ke Twitter Twitter
- Bagikan ke Facebook Facebook
- Bagikan ke LinkedIn LinkedIn
- Bagikan ke Reddit Reddit
- Bagikan ke Berita Peretas Berita Peretas
- Email Email
Informasi Terkait
Cara Membandingkan 2 Objek di JavaScript
Cara Pad String dengan padStart dan padEnd di JavaScript
5 Cara Mengonversi Nilai ke String di JavaScript
Nama Properti Dinamis Dengan ES6
Kami menggunakan konstruktor Number() untuk mengonversi dua string menjadi angka dan menambahkannya menggunakan operator penambahan (+).
Perhatikan bahwa semua string harus diubah menjadi angka sebelum menggunakan operator penjumlahan (+). Jika tidak, itu mengubah angka menjadi string dan menggabungkan string
Anda dapat menggunakan pendekatan ini untuk menambahkan beberapa string sebagai angka
Cara lain yang sangat umum untuk melakukan ini adalah dengan menggunakan operator unary plus (+).
Tambahkan String sebagai Angka menggunakan unary plus (+)
Untuk menambahkan string sebagai angka, gunakan operator plus (+) unary untuk mengonversi setiap string menjadi angka dan menambahkan angka menggunakan operator penjumlahan (+), e. g. +'5' + +'10'
Operator unary plus (+) mencoba mengonversi nilai menjadi angka
Ini menjadi sulit dibaca karena kami memiliki 2 operator plus (+) unary dan operator tambahan (+).
Saya tidak akan merekomendasikan menggunakan pendekatan ini karena sulit dibaca dan tersirat
Kedua contoh ini mengonversi string menjadi angka. Yang satu menggunakan pendekatan unary plus (+) dan yang lainnya menggunakan konstruktor Number()
Sebagai alternatif, Anda dapat menggunakan fungsi parseInt()_ atau parseFloat()
Menggunakan parseInt() dan parseFloat() untuk menambahkan string sebagai Angka
Jika string Anda diakhiri dengan karakter, Anda harus menggunakan fungsi parseInt() sebagai gantinya
String kita diakhiri dengan karakter non-numerik, jadi kita tidak bisa langsung mengonversinya menjadi angka
Sebagai gantinya, kami menggunakan metode parseInt
Metode ini mengambil 2 parameter berikut
- sebuah string yang ingin kita parse menjadi sebuah angka
- radix - nilai defaultnya bukan 10, jadi kita harus meneruskannya secara eksplisit
Cara mudah untuk memikirkan fungsi parseInt_ adalah kita mengambil digit sebanyak mungkin dari awal string, mengabaikan sisanya dan mengonversi nilainya menjadi angka
Ini tidak akan berfungsi jika karakter non-numerik berada di awal string
Jika Anda ingin mengonversi string menjadi angka titik-mengambang, gunakan fungsi parseFloat sebagai gantinya
Fungsi parseFloat() mengambil string sebagai parameter, mem-parsing string dan mengembalikan angka floating-point