gpt4 book ai didi

用于循环分配键的javascript对象/数组

转载 作者:行者123 更新时间:2023-11-30 08:35:53 25 4
gpt4 key购买 nike

我有一个看起来像这样的对象:

var obj = {
"cat" : [
{val: 'res', string: "Residential & Single Family Homes"},
{val: 'Dup', string: "Duplexes & Apartments"},
{val: 'Con', string: "Condominiums"},
{val: 'Lot', string: "Lots, Land & Farms"},
{val: 'Com', string: "Commercial"},
{val: 'Mob', string: "Mobile Homes"},
],
"bdrms" : [
{val: "1", string: "1 Bedroom"},
{val: "2", string: "2 Bedrooms"},
{val: "3", string: "3 Bedrooms"},
{val: "4", string: "4 Bedrooms"},
{val: "5", string: "5 Bedrooms"},
],
"bthrms" : [
{val: "1", string: "1 Bathroom"},
{val: "1.1", string: "1 1/2 Bathrooms"},
{val: "2", string: "2 Bathrooms"},
{val: "2.1", string: "2 1/2 Bathrooms"},
{val: "3", string: "3 Bathrooms"},
{val: "3.1", string: "3 1/2 Bathrooms"},
{val: "4", string: "4 Bathrooms"},
{val: "4.1", string: "4 1/2 Bathrooms"},
{val: "5", string: "5 Bathrooms"},
],
"zip" : [

]
};

我想做的是使用 for 循环在“zip”中动态生成一组邮政编码。到目前为止,我没有工作,因为我收到了一堆错误,例如意外的 token 等...

我假设我这样做是完全错误的,但这是我正在尝试做的:

"zip" : [
for(i=43000; i<=45999;){
{val: i, string: i},
i++
};
]

最佳答案

最简单的事情就是在对象初始化器之后做:

for(i=43000; i<=45999;i++){
obj.zip.push({val: i, string: i});
}

(请注意,我移动了 i++,它与循环体无关。)(另请注意,除非您在某处声明了 i,否则成为 The Horror of Implicit Globals 的牺牲品。)(for block 后面没有 ;。:-) )

如果它是初始化程序的一部分真的很重要(这不太可能),您可以使用您立即调用的临时函数:

"zip" : function() {
var a = [];
for(var i=43000; i<=45999;i++){
a.push({val: i, string: i});
}
return a;
}()

...但我不会没有充分的理由。虽然我不确定为什么不...

关于用于循环分配键的javascript对象/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31461310/

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