String.prototype.indexOf()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015å¹´7æâ©.
indexOf() 㯠String å¤ã®ã¡ã½ããã§ããã®æååãæ¤ç´¢ããæå®ããé¨åæååãæåã«åºç¾ããã¤ã³ããã¯ã¹ãè¿ãã¾ãã ãªãã·ã§ã³ã§éå§ä½ç½®ãåããæå®ããæ°å¤ä»¥ä¸ã®ã¤ã³ããã¯ã¹ã§æå®ããé¨åæååãæåã«åºç¾ããã¤ã³ããã¯ã¹ãè¿ãã¾ãã
試ãã¦ã¿ã¾ããã
const paragraph = "I think Ruth's dog is cuter than your dog!";
const searchTerm = "dog";
const indexOfFirst = paragraph.indexOf(searchTerm);
console.log(`The index of the first "${searchTerm}" is ${indexOfFirst}`);
// äºæ³ãããçµæ: "The index of the first "dog" is 15"
console.log(
`The index of the second "${searchTerm}" is ${paragraph.indexOf(
searchTerm,
indexOfFirst + 1,
)}`,
);
// äºæ³ãããçµæ: "The index of the second "dog" is 38"
æ§æ
indexOf(searchString)
indexOf(searchString, position)
弿°
searchString-
æ¤ç´¢ããå¤ã表ãæååã§ãããã¹ã¦ã®å¤ã¯æååã«å¤æããã¾ãã®ã§ãçç¥ããã
undefinedãæ¸¡ãããããã¨ãindexOf()ã¯"undefined"ã¨ããæååãæ¤ç´¢ãã¾ããããã¯ããããæãã¨ããã§ã¯ãªãã§ãããã positionçç¥å¯-
ãã®ã¡ã½ããã¯ã
positionï¼æ¢å®å¤ã¯0ï¼ä»¥ä¸ã®ä½ç½®ã§ãæå®ããé¨åæååãæåã«ç¾ããã¤ã³ããã¯ã¹ãè¿ãã¾ããpositionãå¼ã³åºãããæååã®é·ãããã大ããå ´åããã®ã¡ã½ããã¯å¼ã³åºãããæååãã¾ã£ããæ¤ç´¢ãã¾ãããpositionã0æªæºã®å ´åããã®ã¡ã½ããã¯positionã0ã®ã¨ãã¨åãããã«åä½ãã¾ãã-
'hello world hello'.indexOf('o', -5)ã¯4ãè¿ãã¾ããããã¯ç¬¬ 2 弿°ã0ã§ãããã®ããã«åä½ããoã0以ä¸ã®ä½ç½®ã§æåã«ç¾ããã®ã4ã ããã§ãã -
'hello world hello'.indexOf('world', 12)ã¯-1ãè¿ãã¾ããå®éã«é¨åæååworldãç¾ããã®ã¯6ã®ã¤ã³ããã¯ã¹ã§ããããã®ä½ç½®ã¯12以ä¸ã§ã¯ãªãããã§ãã -
'hello world hello'.indexOf('o', 99)ã¯-1ãè¿ãã¾ãã99ãhello world helloã®é·ãããã大ãããããã¡ã½ãããå ¨ãæååãæ¤ç´¢ããªããªãããã§ãã
-
è¿å¤
searchString ãæåã«è¦ã¤ãã£ãã¤ã³ããã¯ã¹ãã¾ãã¯è¦ã¤ãããªãã£ãå ´å㯠-1 ã§ãã
ç©ºã®æ¤ç´¢æååã使ç¨ããå ´åã®è¿å¤
ç©ºã®æ¤ç´¢æååã§æ¤ç´¢ããã¨ãå¥å¦ãªçµæã«ãªãã¾ãã第 2 弿°ããªãã£ãå ´åãã第 2 弿°ã®å¤ãå¼ã³åºããæååã®é·ããããå°ããã£ãå ´åãè¿å¤ã¯ç¬¬ 2 弿°ã¨åãã«ãªãã¾ãã
"hello world".indexOf(""); // 0 ãè¿ã
"hello world".indexOf("", 0); // 0 ãè¿ã
"hello world".indexOf("", 3); // 3 ãè¿ã
"hello world".indexOf("", 8); // 8 ãè¿ã
ãããã第 2 弿°ã®å¤ãæååã®é·ã以ä¸ã§ãã£ãå ´åãè¿å¤ã¯æååã®é·ãã«ãªãã¾ãã
"hello world".indexOf("", 11); // 11 ãè¿ã
"hello world".indexOf("", 13); // 11 ãè¿ã
"hello world".indexOf("", 22); // 11 ãè¿ã
åè ã®ä¾ã§ã¯ãã¡ã½ããã¯ç¬¬ 2 弿°ã§æå®ããä½ç½®ã®ç´å¾ã«ç©ºæååãè¦ã¤ãããã®ããã«åä½ãã¾ãã å¾è ã®ä¾ã§ã¯ãã¡ã½ããã¯å¼ã³åºããæååã®çµããã«ç©ºæååãè¦ã¤ãããã®ããã«åä½ãã¾ãã
解説
æåå㯠0 åºç¹ã§ããæååã®æåã®æåã®ã¤ã³ããã¯ã¹ã¯ 0 ã§ãæååã®æå¾ã®æåã®ã¤ã³ããã¯ã¹ã¯æååã®é·ããã 1 ãå¼ãããã®ã«ãªãã¾ãã
"Blue Whale".indexOf("Blue"); // 0 ãè¿ã
"Blue Whale".indexOf("Wale"); // -1 ãè¿ã
"Blue Whale".indexOf("Whale", 0); // 5 ãè¿ã
"Blue Whale".indexOf("Whale", 5); // 5 ãè¿ã
"Blue Whale".indexOf("Whale", 7); // -1 ãè¿ã
"Blue Whale".indexOf(""); // 0 ãè¿ã
"Blue Whale".indexOf("", 9); // 9 ãè¿ã
"Blue Whale".indexOf("", 10); // 10 ãè¿ã
"Blue Whale".indexOf("", 11); // 10 ãè¿ã
indexOf() ã¡ã½ããã¯å¤§æåã¨å°æåãåºå¥ãã¾ããä¾ãã°ã以ä¸ã®å¼ã¯ -1 ãè¿ãã¾ãã
"Blue Whale".indexOf("blue"); // -1 ãè¿ã
åºç¾ã®ãã§ãã¯
æååã®ä¸ã«ç¹å®ã®é¨åæååããããã©ããã調ã¹ãå ´åãè¿å¤ã -1 ã§ãããã©ããã調ã¹ãã®ãæ£ããæ¹æ³ã§ãã
"Blue Whale".indexOf("Blue") !== -1; // trueã'Blue' ã 'Blue Whale' ã®ä¸ã§è¦ã¤ãã£ã
"Blue Whale".indexOf("Wale") !== -1; // falseã 'Wale' ã 'Blue Whale' ã®ä¸ã§è¦ã¤ãããªãã£ã
ä¾
>indexOf() ã®ä½¿ç¨
以ä¸ã®ä¾ã¯ indexOf() ã使ç¨ãã¦ã"Brave new world" ã¨ããæååã«ããã¦æå®ãããå¤ã®ä½ç½®ãæ±ãã¦ãã¾ãã
const str = "Brave new world";
console.log(str.indexOf("w")); // 8
console.log(str.indexOf("new")); // 6
indexOf() 㨠大æåã¨å°æåã®åºå¥
以ä¸ã®ä¾ã¯ 2 ã¤ã®æååã®å¤æ°ãå®ç¾©ãã¦ãã¾ãã
ãããã®å¤æ°ã¯ã2 çªç®ã®æååã大æåãå«ãã§ãããã¨ãé¤ãã°ãåãæååãå«ãã§ãã¾ãã1 çªç®ã® console.log() ã¡ã½ãã㯠19 ã表示ãã¾ããããããindexOf() ã¡ã½ããã¯å¤§æåã¨å°æåãåºå¥ããã®ã§ã"cheddar" ã¨ããæåå㯠myCapString ã§ã¯è¦ã¤ãããã¾ãããã§ãããã console.log() ã¡ã½ãã㯠-1 ã表示ãã¾ãã
const myString = "brie, pepper jack, cheddar";
const myCapString = "Brie, Pepper Jack, Cheddar";
console.log(myString.indexOf("cheddar")); // 19
console.log(myCapString.indexOf("cheddar")); // -1
indexOf() ã使ã£ã¦æååä¸ã§ããæåãç¾ããåæ°ãæ°ãã
以ä¸ã®ä¾ã¯ã count ã«ã str ã¨ããæååä¸ã§ e ã¨ããæåãåºç¾ããåæ°ãè¨å®ãã¾ãã
const str = "To be, or not to be, that is the question.";
let count = 0;
let position = str.indexOf("e");
while (position !== -1) {
count++;
position = str.indexOf("e", position + 1);
}
console.log(count); // 4
仿§æ¸
| Specification |
|---|
| ECMAScript® 2026 Language Specification > # sec-string.prototype.indexof > |