Baseline Widely available
indexOf()
æ¹æ³è¿åæ°ç»ä¸ç¬¬ä¸æ¬¡åºç°ç»å®å
ç´ ç䏿 ï¼å¦æä¸åå¨åè¿å -1ã
const beasts = ["ant", "bison", "camel", "duck", "bison"];
console.log(beasts.indexOf("bison"));
// Expected output: 1
// Start from index 2
console.log(beasts.indexOf("bison", 2));
// Expected output: 4
console.log(beasts.indexOf("giraffe"));
// Expected output: -1
è¯æ³
indexOf(searchElement)
indexOf(searchElement, fromIndex)
åæ°
searchElement
æ°ç»ä¸è¦æ¥æ¾çå ç´ ã
fromIndex
å¯é
å¼å§æç´¢çç´¢å¼ï¼ä»é¶å¼å§ï¼ï¼ä¼è½¬æ¢ä¸ºæ´æ°ã
frommindex < 0
ï¼ä½¿ç¨ frommindex + array.length
ãæ³¨æï¼å¨è¿ç§æ
åµä¸ï¼ä»ç¶ä»åå°åæç´¢æ°ç»ãfromIndex < -array.length
æè
çç¥äº fromIndex
ï¼å°ä½¿ç¨ 0
ï¼èå¯¼è´æ´ä¸ªæ°ç»è¢«æç´¢ãfromIndex >= array.length
ï¼æ°ç»ä¸ä¼ç»§ç»æç´¢å¹¶è¿å -1
ãé¦ä¸ªè¢«æ¾å°çå ç´ å¨æ°ç»ä¸çç´¢å¼ä½ç½®; è¥æ²¡ææ¾å°åè¿å -1ã
æè¿°indexOf()
使ç¨ä¸¥æ ¼ç¸çï¼ä¸ ===
è¿ç®ç¬¦ä½¿ç¨çç®æ³ç¸åï¼å° searchElement
䏿°ç»ä¸çå
ç´ è¿è¡æ¯è¾ãNaN
弿°¸è¿ä¸ä¼è¢«æ¯è¾ä¸ºç¸çï¼å æ¤å½ searchElement
为 NaN
æ¶ indexOf()
æ»æ¯è¿å -1
ã
indexOf()
æ¹æ³ä¼è·³è¿ç¨çæ°ç»ä¸ç空槽ã
indexOf()
æ¹æ³æ¯éç¨çãå®åªææ this
å¼å
·æ length
屿§åæ´æ°é®å±æ§ã
以ä¸ä¾åä½¿ç¨ indexOf()
æ¹æ³ç¡®å®å¤ä¸ªå¼å¨æ°ç»ä¸çä½ç½®ã
const array = [2, 9, 9];
array.indexOf(2); // 0
array.indexOf(7); // -1
array.indexOf(9, 2); // 2
array.indexOf(2, -1); // -1
array.indexOf(2, -3); // 0
ä½ æ²¡æ³ä½¿ç¨ indexOf()
æ¥æç´¢ NaN
ã
const array = [NaN];
array.indexOf(NaN); // -1
æ¾åºæå®å
ç´ åºç°çææä½ç½®
const indices = [];
const array = ["a", "b", "a", "c", "a", "d"];
const element = "a";
let idx = array.indexOf(element);
while (idx !== -1) {
indices.push(idx);
idx = array.indexOf(element, idx + 1);
}
console.log(indices);
// [0, 2, 4]
夿ä¸ä¸ªå
ç´ æ¯å¦å¨æ°ç»éï¼ä¸å¨åæ´æ°æ°ç»
function updateVegetablesCollection(veggies, veggie) {
if (veggies.indexOf(veggie) === -1) {
veggies.push(veggie);
console.log(`New veggies collection is: ${veggies}`);
} else {
console.log(`${veggie} already exists in the veggies collection.`);
}
}
const veggies = ["potato", "tomato", "chillies", "green-pepper"];
updateVegetablesCollection(veggies, "spinach");
// New veggies collection is: potato,tomato,chillies,green-pepper,spinach
updateVegetablesCollection(veggies, "spinach");
// spinach already exists in the veggies collection.
å¨ç¨çæ°ç»ä¸ä½¿ç¨ indexOf()
ä¸è½ä½¿ç¨ indexOf()
å¨ç¨çæ°ç»ä¸æç´¢ç©ºæ§½ã
console.log([1, , 3].indexOf(undefined)); // -1
å¨éæ°ç»å¯¹è±¡ä¸è°ç¨ indexOf()
indexOf()
æ¹æ³è¯»å this
ç length
屿§ï¼ç¶åè®¿é®æ¯ä¸ªæ´æ°ç´¢å¼ã
const arrayLike = {
length: 3,
0: 2,
1: 3,
2: 4,
};
console.log(Array.prototype.indexOf.call(arrayLike, 2));
// 0
console.log(Array.prototype.indexOf.call(arrayLike, 5));
// -1
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4