Baseline Widely available
at()
æ¹æ³æ¥æ¶ä¸ä¸ªæ´æ°å¼å¹¶è¿å该索å¼å¯¹åºçå
ç´ ï¼å
è®¸æ£æ°åè´æ°ãè´æ´æ°ä»æ°ç»ä¸çæåä¸ä¸ªå
ç´ å¼å§åæ°ã
const array1 = [5, 12, 8, 130, 44];
let index = 2;
console.log(`An index of ${index} returns ${array1.at(index)}`);
// Expected output: "An index of 2 returns 8"
index = -2;
console.log(`An index of ${index} returns ${array1.at(index)}`);
// Expected output: "An index of -2 returns 130"
è¯æ³ åæ°
index
è¦è¿åçæ°ç»å
ç´ çç´¢å¼ï¼ä»é¶å¼å§ï¼ï¼ä¼è¢«è½¬æ¢ä¸ºæ´æ°ãè´æ°ç´¢å¼ä»æ°ç»æ«å°¾å¼å§è®¡æ°ââ妿 index < 0
ï¼åä¼è®¿é® index + array.length
ä½ç½®çå
ç´ ã
è¿åæ°ç»ä¸ä¸ç»å®ç´¢å¼å¹é
çå
ç´ ã妿 index < -array.length
æ index >= array.length
ï¼åæ»æ¯è¿å undefined
ï¼èä¸ä¼å°è¯è®¿é®ç¸åºç屿§ã
å¨ä¼ ééè´æ°æ¶ï¼at()
æ¹æ³çä»·äºæ¬å·è¡¨ç¤ºæ³ãä¾å¦ï¼array[0]
å array.at(0)
åè¿å第ä¸ä¸ªå
ç´ ã使¯ï¼å½ä½ éè¦ä»æ°ç»çæ«ç«¯å¼å§åæ°æ¶ï¼åä¸è½ä½¿ç¨ Python å R è¯è¨ä¸æ¯æç array[-1]
ï¼å ä¸ºæ¹æ¬å·å
çææå¼é½ä¼è¢«è§ä¸ºåç¬¦ä¸²å±æ§ï¼å æ¤ä½ æç»è¯»åçæ¯ array["-1"]
ï¼è¿åªæ¯ä¸ä¸ªæ®éçåç¬¦ä¸²å±æ§è䏿¯æ°ç»ç´¢å¼ã
é常çåæ³æ¯è®¿é® length
å¹¶å°å
¶åå»ä»æ«ç«¯å¼å§çç¸å¯¹ç´¢å¼ãä¾å¦ï¼array[array.length - 1]
ãat()
æ¹æ³å
许使ç¨ç¸å¯¹ç´¢å¼ï¼å æ¤ä¸é¢ç示ä¾å¯ä»¥ç®å为 array.at(-1)
ã
at()
æ¹æ³æ¯éç¨çãå
¶ä»
ææ this
å
·æ length
屿§åä»¥æ´æ°ä¸ºé®ç屿§ã
ä¸é¢çç¤ºä¾æä¾äºä¸ä¸ªå½æ°ï¼å®è¿åå¨ä¸ä¸ªæå®çæ°ç»ä¸æ¾å°çæåä¸ä¸ªå ç´ ã
// æ°ç»åæ°ç»å
ç´
const cart = ["apple", "banana", "pear"];
// ä¸ä¸ªå½æ°ï¼ç¨äºè¿åç»å®æ°ç»çæåä¸ä¸ªå
ç´
function returnLast(arr) {
return arr.at(-1);
}
// è·å 'cart' æ°ç»çæåä¸ä¸ªå
ç´
const item1 = returnLast(cart);
console.log(item1); // è¾åºï¼'pear'
// å¨ 'cart' æ°ç»ä¸æ·»å ä¸ä¸ªå
ç´
cart.push("orange");
const item2 = returnLast(cart);
console.log(item2); // è¾åºï¼'orange'
æ¯è¾ä¸åçæ°ç»æ¹æ³
è¿ä¸ªç¤ºä¾æ¯è¾äºéæ© Array
ä¸åæ°ç¬¬äºä¸ªå
ç´ çä¸åæ¹æ³ãè½ç¶ä¸é¢æ¾ç¤ºçæææ¹æ³é½æ¯å¯è¡çï¼ä½è¿ä¸ªç¤ºä¾å¸æ¾äº at()
æ¹æ³çç®æ´æ§åå¯è¯»æ§ã
// æ°ç»åæ°ç»å
ç´
const colors = ["red", "green", "blue"];
// 使ç¨é¿åº¦å±æ§
const lengthWay = colors[colors.length - 2];
console.log(lengthWay); // è¾åºï¼'green'
// ä½¿ç¨ slice() æ¹æ³ã注æä¼è¿åä¸ä¸ªæ°ç»
const sliceWay = colors.slice(-2, -1);
console.log(sliceWay[0]); // è¾åºï¼'green'
// ä½¿ç¨ at() æ¹æ³
const atWay = colors.at(-2);
console.log(atWay); // è¾åºï¼'green'
å¨éæ°ç»å¯¹è±¡ä¸è°ç¨ at()
at()
æ¹æ³è¯»å this
ç length
屿§å¹¶è®¡ç®éè¦è®¿é®çç´¢å¼ã
const arrayLike = {
length: 2,
0: "a",
1: "b",
};
console.log(Array.prototype.at.call(arrayLike, -1)); // "b"
è§è æµè§å¨å
¼å®¹æ§ åè§
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