Daugiau
Kaip sužinoti, ar masyve yra tam tikra eilutė, naudojant "JavaScript/jQuery"?
Ar kas nors gali man pasakyti, kaip nustatyti, ar "specialword"
yra masyve? Pavyzdys:
categories: [
"specialword"
"word1"
"word2"
]
564
3
jQuery siūlo
$.inArray
:Atkreipkite dėmesį, kad inArray grąžina rasto elemento indeksą, todėl
0
reiškia, kad elementas yra pirmasis masyve.-1
reiškia, kad elementas nerastas.redaguoti po 3,5 metų
$.inArray
iš tikrųjų yraArray.prototype.indexOf
apvalkalas naršyklėse, kurios palaiko šią funkciją (šiuo metu beveik visos), o naršyklėse, kurios jos nepalaiko, tai yra "shim". Iš esmės tai yra lygiavertiškaArray.prototype
papildymui, o tai yra idiomatiškesnis/JSish būdas. MDN pateikia tokį kodą. Šiais laikais aš pasirinkčiau šį variantą, užuot naudojęs jQuery apvalkalą.Redaguoti dar po 3 metų
Dieve, 6,5 metų?!
Šiuolaikiniame "Javascript" geriausiai tinka
Array.prototype.includes
:Jokių palyginimų ir klaidinančių
-1
rezultatų. Jis daro tai, ko norime: grąžinatrue
arbafalse
. Vyresnėse naršyklėse ją galima papildyti naudojant MDN pateiktą kodą.Štai taip:
Ši funkcija grąžina teigiamą sveiką skaičių (duotosios reikšmės indeksą masyve) arba
-1
, jei duotosios reikšmės masyve nerasta.Gyvoji demonstracinė versija: http://jsfiddle.net/simevidas/5Gdfc/
Tikriausiai norėsite ją naudoti taip:
Galite naudoti
for
ciklą: