Vairāk
Kā JavaScript/jQuery meklēt, vai masīvs satur konkrētu virkni?
Vai kāds var man pateikt, kā noteikt, vai "specialword"
parādās masīvā? Piemērs:
categories: [
"specialword"
"word1"
"word2"
]
564
3
jQuery piedāvā
$.inArray
:Tas nozīmē, ka
0
norāda, ka šis elements ir pirmais elements masīvā.-1
norāda, ka elements nav atrasts.Edit 3,5 gadus vēlāk
$.inArray
faktiski irArray.prototype.indexOf
apvalks pārlūkprogrammās, kas to atbalsta (mūsdienās gandrīz visas), bet pārlūkprogrammās, kas to neatbalsta, tas nodrošina apakšsistēmu. Tas būtībā ir līdzvērtīgsArray.prototips
, kas ir idiomātiskāks/JSish veids, kā to darīt. MDN ir pieejams šāds kods. Mūsdienās es izvēlētos šo iespēju, nevis jQuery ietinēju.Editēt vēl 3 gadus vēlāk
Ak, 6,5 gadi?!
Labākais risinājums mūsdienu Javascript ir
Array.prototype.includes
:Nav salīdzinājumu un nav mulsinošu
-1
rezultātu. Tas dara to, ko mēs vēlamies: atgriežtrue
vaifalse
. Vecākām pārlūkprogrammām tas ir aizpildāms izmantojot kodu MDN.Lūk, šeit:
Šī funkcija atgriež veselu pozitīvu skaitli (dotās vērtības masīva indeksu) vai
-1
, ja dotā vērtība masīvā nav atrasta.Live demo: http://jsfiddle.net/simevidas/5Gdfc/
Iespējams, jūs vēlaties to izmantot šādi:
Varat izmantot
for
cilpu: