Tentang .find()

selamat siang kak, saya mau bertanya dibawah ini baris code yg telah saya buat, sebenarnya saya masih bingung dengan logika pencarian hewan dengan kondisi huruf depan ‘J’ dan huruf belakang ‘h’, bagaimana ya kak logikanya? mohon pencerahannya…

3 Likes

Bisa dengan begini

let cariHewan = hewan.find(item => {
    return item[0] == 'J' && item[item.length-1] == 'h';
})
console.log(cariHewan)

Jadi, string itu basically juga bisa disebut sebagai array, jadi kita bisa treat mereka (hampir) seperti array.

9 Likes
let cariHewan = hewan.find((item) => item > 'J' && item < 'h');

console.log(cariHewan);

padahal itu lebih singkat…

2 Likes

saya juga masih bingung dengan kriteria yg benar bagaimana, apa sudah ada hint lebih lanjut untuk diskusi ini ya?
logika yang saya pakai :

let cariHewan = hewan.find(item => {
    return item > 'J' && item < 'h';
})
console.log(cariHewan)

tapi masih tetap saja, indikator soal bilang kalau belum benar, apa saya salah memahami soalnya ?

Dari kodingan kamu sudah benar, salah nya di nomor berapa ya kak?
coba refresh webnya karena kadang beberapa orang mengalami hal yang sama

atau bisa coba kayak gini

let cariHewan = hewan.find(item => {
    return  item > 'J' && item < 'h';
})
console.log(cariHewan)

atau dengan shorhand

let cariHewan = hewan.find((item) => item > 'J' && item < 'h');
console.log(cariHewan);
2 Likes

yg tetap salah di point no 2 sama 3 nya kak, tpi kmungkinan intinya di yg no 2 nya, soalnya no 3 kan bakal benar kalo no 2 udah benar,
sudah saya coba semua, termasuk yg shorthand tetap saja belum benar :sleepy:

hasilnya benar seperti kata @permanar , cuman comparison operator nya menggunakan equal value yaitu “===”

terimakasih atas solusinya @permanar :grin:

maaf ka mau tanya -1 disini memiliki arti apa yah?, apakah akses array nya dimulai dari belakang sampe berenti di “h” atau bagaimana? minta peneranganya kalau boleh beserta item[0] :slight_smile: terimakasih…

Hi @Riki_Wahyudi

Saya coba bantu jawab, jadi kode item.length itu mengembalikan panjang dari item. Jika item nya saat ini ada pada jerapah panjang dari kata jerapah itu 7 dan di kurang satu agar bisa dapat indeks ke terakhir

Dan untuk item[0] itu merupakan cara kita mengakses bagian pertama dari item itu

const item = "Jerapah"
item[0] // output: J

Semoga membantu

2 Likes

bang kalo logikanya yang shorthand itu gimana ya ceritanya ?

soalnya saya coba untuk mengambil nilai " Gajah " dari array hewan pake

let cariHewan = hewan.find(item => item > 'G' && item < 'h'; //kok malah jadi "Harimau" dapatnya ?

Kenapa dapat harimau karena huruf H lebih besar dari G dan lebih kecil dari h

Untuk mencoba nya kamu bisa tes dengan console.log seperti ini

console.log("H" > "G") // output: true
console.log("H" < "h") // output: true

Pake item > ‘J’ && item < ‘h’ emg bisa kak,
tp supaya bener tetep harus pke
return item[0] == ‘J’ && item[item.length-1] == ‘h’
karena perintah di soal “harus menggunakan operator =”

1 Like