首頁 >web前端 >js教程 >代理 - JavaScript 挑戰

代理 - JavaScript 挑戰

Susan Sarandon
Susan Sarandon原創
2024-11-04 09:12:30709瀏覽

Proxy - JavaScript Challenges

您可以在倉庫 Github 上找到本文中的所有程式碼。


代理相關的挑戰


訪問負索引

/**
 * @param {Array} arr 
 */

function withNegativeIndex(arr) {
  return new Proxy(arr, {
    get(target, property, receiver) {
      const index = Number(property);

      if (index < 0) {
        property = target.length + index;
      }

      return Reflect.get(target, property, receiver);
    }
  });
}

// Usage example
const fruits = ["apple", "banana", "orange"];
const proxiedFruits = withNegativeIndex(fruits);

console.log(proxiedFruits[-1]); // => 'orange'
console.log(proxiedFruits[-2]); // => 'banana'
console.log(proxiedFruits[-3]); // => 'apple'
console.log(proxiedFruits[0]);  // => 'apple'
console.log(proxiedFruits[1]);  // => 'banana'
console.log(proxiedFruits[2]);  // => 'orange'

參考

  • 代理 - MDN

以上是代理 - JavaScript 挑戰的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:回呼函數下一篇:回呼函數