gpt4 book ai didi

javascript - 使用构造函数在对象内部创建对象

转载 作者:行者123 更新时间:2023-11-28 19:25:59 25 4
gpt4 key购买 nike

在下面的代码中,我尝试创建一个名为“portfolio”的对象,其中我想创建包含属性“stockvalue”和“price”的其他对象?

var portfolio_create = function(stock,stockvalue,price)
{
for(i in stock)
{
this[stock[i]] = stock[i];
this[stock[i]]["stockvalue"] =stockvalue[i];
this[stock[i]]["price"]=price[i]
}
}

var portfolio = new portfolio_create(["ibm","tcs"],[23,34],[34,45]);

var stock_market = portfolio;


alert(portfolio["ibm"]["stockvalue"]); // undefined

为什么警报返回“未定义”而不是 23?

提前致谢。

最佳答案

var portfolio_create = function (stock, stockvalue, price) {

for (var i = 0, len = stock.length; i < len; i++) {
this[stock[i]] = {};

this[stock[i]]["stockvalue"] = stockvalue[i];
this[stock[i]]["price"] = price[i];
}
}
var portfolio = new portfolio_create(["ibm", "tcs"], [23,34], [34,45]);
  1. 不要对数组使用for..in
  2. this[stock[i]] = stock[i]; 替换为 this[stock[i]] = {};。

Example

关于javascript - 使用构造函数在对象内部创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27873994/

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