gpt4 book ai didi

javascript - 在 JS 对象中设置属性和值的方法

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

给定一个像这样的对象:

var house = {
bedrooms: 4,
baths: 2,
city: "Austin",
details: {
price: 500000,
closing: {
date: "May 7"
}
}
}

我正在尝试创建一个方法,让我设置现有属性的值,或者如果该属性不存在,则使用该值创建一个新属性。

因此输入可以是:

house.setProp("details.closing.date", "June 1");
house.setProp("details.newProp", "newProp Value");

输出为:

var house = {
bedrooms: 4,
baths: 2,
city: "Austin",
details: {
newProp: "newProp Value",
price: 500000,
closing: {
date: "June 1"
}
}
}

这是我迄今为止的尝试,虽然它适用于第一个深度,但我不知道如何访问/创建多个深度。你能帮忙吗?谢谢!

Object.prototype.setProp = function(path, newValue)
{
var keys = path.split('.');
obj = this;

if (keys.length > 1)
{
setProp(obj[keys.shift()], newValue);
}
else
{
obj[keys[0]] = newValue;
}
}

最佳答案

var house = { 
bedrooms: 4,
baths: 2,
city: "Austin",
details: {
price: 500000,
closing: {
date: "May 7"
}
}
}
house.details.closing.date= "June 1";
house.details.newProp="newProp Value";

关于javascript - 在 JS 对象中设置属性和值的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30610778/

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