Tulis fungsi JavaScript yang mengambil string dan mengembalikan objek dengan setiap karakter string sebagai kunci, dan berapa kali karakter tersebut muncul dalam string sebagai nilainya.
Berikut adalah fungsi JavaScript yang mengambil string dan mengembalikan objek dengan masing-masing karakter string sebagai kunci, dan berapa kali karakter tersebut muncul dalam string sebagai nilainya:

```
fungsi countCharacters(str) {
  misalkan obj = {};
  for (misalkan i = 0; i < str.length; i++) {
    biarkan char = str.charAt(i);
    jika (obj[karakter]) {
      obj[karakter]++;
    } kalau tidak {
      obj[karakter] = 1;
    }
  }
  mengembalikan objek;
}
```

Fungsi ini menggunakan perulangan `for` untuk mengulangi setiap karakter dalam string. Ia menggunakan metode `charAt()` untuk mendapatkan karakter pada indeks saat ini.

Untuk setiap karakter, ia memeriksa apakah karakter tersebut sudah ada sebagai properti di objek `obj`. Jika ya, maka nilainya akan bertambah 1. Jika tidak, maka karakter tersebut akan ditambahkan sebagai properti baru ke objek `obj` dengan nilai 1.

Terakhir, fungsi ini mengembalikan objek `obj` dengan setiap karakter sebagai kunci dan berapa kali objek tersebut muncul dalam string sebagai nilainya.

Contoh penggunaan:

```
countCharacters("halo"); // mengembalikan {h: 1, e: 1, l: 2, o: 1}
countCharacters("pisang"); // mengembalikan {b: 1, a: 3, n: 2}
```