登录
首页 >  文章 >  前端

代理 - JavaScript 挑战

来源:dev.to

时间:2024-11-03 15:45:40 143浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《代理 - JavaScript 挑战》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

代理 - JavaScript 挑战

您可以在 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 挑战》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>