首页 >web前端 >js教程 >代理 - JavaScript 挑战

代理 - JavaScript 挑战

Susan Sarandon
Susan Sarandon原创
2024-11-04 09:12:30700浏览

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