kzen.dev
  • Întrebări
  • Tag-uri
  • Utilizatori
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
Colin Brock
Colin Brock
Question

Care este diferența între indexOf() și de căutare()?

Fiind destul de nou pentru JavaScript, am'm în imposibilitatea de a discerne când să utilizeze fiecare dintre acestea.

Poate cineva clarifica acest lucru pentru mine?

175 2008-12-09T20:25:00+00:00 8
 msalihbindak
msalihbindak
Întrebarea editată 16 iunie 2019 в 3:21
Programare
javascript
string
Solution / Answer
 ng.mangine
ng.mangine
9 decembrie 2008 в 8:29
2008-12-09T20:29:29+00:00
Mai mult
Sursă
Editează
#8681805

Dacă aveți nevoie de o expresie regulată, utilizarea de căutare(). În caz contrar,indexOf()` va fi mai rapid.

 sshow
sshow
Răspuns editat 12 martie 2012 в 10:42
202
0
 Greg
Greg
9 decembrie 2008 в 8:28
2008-12-09T20:28:40+00:00
Mai mult
Sursă
Editează
#8681804

indexOf este pentru simplu siruri de caractere, search este pentru expresii regulate.

 1j01
1j01
Răspuns editat 21 aprilie 2019 в 11:12
31
0
 joel.neely
joel.neely
9 decembrie 2008 в 8:31
2008-12-09T20:31:40+00:00
Mai mult
Sursă
Editează
#8681807

Funcția de căutare (o descriere aici) are o expresie regulată, care vă permite pentru a se potrivi împotriva mai sofisticate tipare, case-insensitive siruri de caractere, etc., în timp ce indexOf (o descriere aici) pur și simplu se potrivește cu un literal șir de caractere. Cu toate acestea, indexOf, de asemenea, vă permite să specificați un început index.

14
0
 CMS
CMS
9 decembrie 2008 в 8:30
2008-12-09T20:30:09+00:00
Mai mult
Sursă
Editează
#8681806

Cred că principala diferență este că de căutare accepta expresii regulate.

Verificați acest lucru de referință:

  • cautare
  • indexOf
7
0
 bablue
bablue
5 septembrie 2016 в 2:20
2016-09-05T14:20:54+00:00
Mai mult
Sursă
Editează
#8681810

IndexOf() - se acceptă literali șir sau un șir de obiecte, dar *nu *** expresii regulate. Se acceptă, de asemenea, o bază zero valoare întreagă pentru a începe căutarea de la, de exemplu:

  1. "babyelephant".indexOf("e"); // vă oferă 4
  2. "babyelephant".indexOf("e",5); // vă oferă 6 ca la căutare pornește de la poziția a 6-a sau a 5-index.
  3. var m= /e/; "babyelephant".indexOf(m); //ii da -1 ca nu acceptă expresii regulate.

De căutare() - acceptă atât literali șir sau un șir de obiecte și expresii regulate. Dar nu't acceptă un index pentru a începe căutarea de la.

 help-info.de
help-info.de
Răspuns editat 5 septembrie 2016 в 3:18
4
0
 K23raj
K23raj
22 aprilie 2019 в 12:15
2019-04-22T12:15:44+00:00
Mai mult
Sursă
Editează
#8681811

indexOf() și de căutare()

  • comune în ambele

i) reveni la prima apariție a căutat valoare

ii) return -1 dacă nu am găsit

să str='Cartea este rezervat pentru livrare' str.indexOf('b') // returnează poziția 8 str.căutare('b') // returnează poziția 8


  • speciale în indexOf()

i) vă pot da incepand de căutare poziție ca un al doilea argument

str.indexOf('k') // 3 str.indexOf('k',4) // 11 (se începe căutarea de la poziția 4)


  • speciale în căutare()

valoare de căutare poate fi o expresie regulată

str.search('book') // 8
str.search(/book/i)  // 0   ( /i =case-insensitive   (Book == book)

referință

Vaibhav Vishal
Vaibhav Vishal
Răspuns editat 22 aprilie 2019 в 1:38
3
0
 LeppyR64
LeppyR64
9 decembrie 2008 в 8:32
2008-12-09T20:32:53+00:00
Mai mult
Sursă
Editează
#8681808

Căutare găsește-l's meciuri cu o expresie regulată, dar nu are nici o compensează. IndexOf folosește literali pentru a se potrivi, dar are un offset.

IndexOf

Cautare

2
0
 student
student
15 decembrie 2015 в 7:02
2015-12-15T07:02:38+00:00
Mai mult
Sursă
Editează
#8681809

Fără o regex, nu există nici o diferență practică între indexOf și cautare.

Exemplul de mai jos vă oferă un live demo:

function FromSearch() {

  var str = document.getElementById("demo").innerText;
  var n = str.search("difference");
  document.getElementById("Location").innerHTML = n;
}

function FromindexOf() {
  var str = document.getElementById("demo").innerText;
  var n = str.indexOf("difference");
  document.getElementById("Location").innerHTML = n;
}
<p id="demo">Without a <a href='http://www.w3schools.com/js/js_regexp.asp'>regex</a>, there is no practical difference between <a href='http://www.w3schools.com/jsref/jsref_indexof.asp'>indexOf</a> and <a href='http://www.w3schools.com/jsref/jsref_search.asp'>search</a>
</p>

<button onclick="FromSearch()">From search</button>

<button onclick="FromindexOf()">From indexOf</button>

<p>Location of difference in the above sentence is:</p>

<mark id="Location"></mark>
-1
0
Comunități asemănătoare 1
JavaScript, România - Moldova
JavaScript, România - Moldova
288 utilizatori
Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @php_ro, @python_ro, @devops_ro, @seo_ro Offtop: @holywars_ro
Deschide telegram
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
Utilizatori
Toate
Nou
Populare
1
ALEX EPRST
Înregistrat 13 ore în urmă
2
Daniel Gogov
Înregistrat 1 săptămână în urmă
3
工藤 芳則
Înregistrat 2 săptămâni în urmă
4
Ирина Беляева
Înregistrat 2 săptămâni în urmă
5
Darya Arsenyeva
Înregistrat 3 săptămâni în urmă
ID
JA
KO
RO
RU
© kzen.dev 2023
Sursă
stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire