作者:朱甜520_322 | 来源:互联网 | 2022-12-07 18:03
我有一系列域名: var domains = ["domain1", "domain2", "domain3"];
预期结果应为:
var domainData = {
type: 'combo',
name: 'domain',
width: 200,
offsetLeft: 30,
label: 'Test label',
required: true,
options: [
{text: 'domain1', value: 'domain1'},
{text: 'domain2', value: 'domain2'},
{text: 'domain3', value: 'domain3'},
]
};
这是我试图做的,但它不起作用:
for(var i = 0; i
你可以在这里玩代码:https://jsbin.com/vadered/edit?js,console
1> Mihai Alexan..:
问题是每次domainData
使用for
循环时都要创建一个新对象.
您可以map
通过传递回调提供的函数来使用方法,该函数应用于给定数组中的每个项目.
var domains = ["domain1", "domain2", "domain3"];
var domainData = {
type: 'combo',
name: 'domain',
width: 200,
offsetLeft: 30,
label: 'Test label',
required: true,
options: domains.map(elem=> ({text:elem, value:elem}))
};
console.log(domainData);
2> Bucket..:
将domainData
对象移到函数循环外部,然后添加以下值options
:
var domainData = {
type: 'combo',
name: 'domain',
width: 200,
offsetLeft: 30,
label: 'Test label',
required: true,
options: []
};
for(var i = 0; i