微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更改第一个对象中的值会导致第二个对象更改

如何解决更改第一个对象中的值会导致第二个对象更改

我有一个对象数组:

/ClassName

我只想在第一个对象中重新分配“ a”,但是当我使用上述代码时,两个“ a”都被重新分配了。并输出

from importlib import import_module
from pathlib import Path

HERE = Path(__file__).parent

for api_class_file in HERE.glob("apis/*.py"):
    # apis/ChambAvail.py -> ChambAvail
    api_class_name = api_class_file.stem
    if api_class_name.startswith("__"):
        # skip special files such as __init__ and __main__
        continue

    # equivalent to "import apis.ChambAvail"
    api_module = import_module(f"apis.{api_class_name}")
    # equivalent to "apis.ChambAvail.ChambAvail
    api_class = getattr(api_module,api_class_name)
    api.add_resource(api_class,f"/{api_class_name}")

解决方法

如Array fill方法的this documentation中所述

如果第一个参数是一个对象,则数组中的每个插槽都会引用该对象。

可能的解决方案:

const test = Array.from({ length: 2 }).map(() => ({ a: 1,b: 2 }));

test[0].a = 3;

console.log(test);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。