如何从javascript代理中获取数组

htrmnn0y  于 2023-06-04  发布在  Java
关注(0)|答案(3)|浏览(258)

嗨,我想知道是否有人知道如何在JavaScript中从代理的目标值中获取数组。我有这样的东西:

Proxy :
  [[target]] : Array // the array I need to extract
  [[handler]] : Object 
  [[IsRevoked]] : false
enyaitl3

enyaitl31#

如果您所拥有的只是一个对代理的引用,那么您就没有办法(默认情况下)获取代理的目标。一个特定的代理可以提供一个方法(可能是通过它的一个陷阱处理程序),但是默认情况下没有。

mu0hgdu0

mu0hgdu02#

只需获取原始对象并将其解析为JSON,然后获得一个干净的对象!

item = JSON.parse(JSON.stringify(item))
zed5wv10

zed5wv103#

另外,如果处理程序相应地Map所有内容,则可以通过扩展获得目标的副本。但是你不能得到原始的[[target]]对象。

const proxy = new Proxy([1, 2, 3], {
  get(target, prop, receiver) {
    return target[prop];
  }
});

console.log([...proxy]);

相关问题