gpt4 book ai didi

javascript - 如何指定对象中项目的位置

转载 作者:行者123 更新时间:2023-12-01 03:50:48 25 4
gpt4 key购买 nike

假设我有一个像这样的对象用户。

  const user =  {
nationality: 'Italian',
age: 24,
name: {
firstName: 'rocky',
lastName: 'balboa',
},
};

我更新了 name 中的 firstName 项。我想将此更改传达给某个函数,以便它也可以更新其自己的用户对象中具有相同结构的firstName。最好的方法是什么?

根据我的理解,要指定firstName,我们将使用user[name][firstName]。但是我如何将其发送到另一个对象,比如说 primeUsers 以便它也可以更新自身?

  const primeUser =  {
nationality: 'Italian',
age: 24,
name: {
firstName: 'rocky',
lastName: 'balboa',
},
};

一种方法是发送“级别”数组。所以我会发送一个数组

const levels = ["name", "firstName"];

但我不确定如何使用它来更新 primeUser 中的 firstName ?抱歉,这看起来很奇怪,而且我没有解释得很清楚。希望你明白我想要实现的目标:)

最佳答案

I wanna convey this change to some function so it can also update the firstName in it's own user object with same structure too

您可以在 firstName 属性上定义一个 setter,并将该 setter 函数作为您自己的函数传递,每次该属性更改时都会调用该函数

演示

const user =  {
nationality: 'Italian',
age: 24,
name: {
firstName: 'rocky',
lastName: 'balboa',
},
};

function yourFunction(val) {console.log("value set ",val)}

Object.defineProperty(user.name, "firstName" ,{set: yourFunction});

user.name.firstName = 1

关于javascript - 如何指定对象中项目的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43223940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com