我从duplicates
数组创建一个对象,并动态地将元素推送到它。一切工作正常,除了我得到了一个额外的空元素,而且我不明白为什么......
这是我的代码:
for(i=0;i<duplicates.length; i++) {
Logger.log(duplicates[i]);
var request = {
"name": duplicates[i].scope,
"id": 3,
"rules":[
{
"name": duplicates[i].scope + " " + "OP SDR Sync",
"tags": [
{
"tagId": 1,
"variables":[
{
}
],
"condition": false,
},
{
"tagId": 1,
"condition": false,
}
],
"ruleSetId": 3,
}
]
}
for(var j in duplicates[i].variable) {
request.rules[0].tags[0].variables.push({
"variable": duplicates[i].variable[j],
"matchType": "Regex",
"value": duplicates[i].scopeDef
});
}
}
这是一个例子:
重复项
= [
{scopeDef=.*,scope=全局 4,变量=[trackingcode,v1,v2]},{scopeDef=https://www.delta.com/,scope=主页 2,变量=[v4,v5,v6, v7]},
]
执行代码后,我得到以下日志:
第一个对象
{name=Global 4, rules=[{name=Global 4 OP SDR Sync, tags=[{variables=[
{},
{matchType=Regex, variable=trackingcode, value=.*},
{matchType=Regex, variable=v1, value=.*},
{matchType=Regex, variable=v2, value=.*}], condition=false, tagId=1.0}, {condition=false, tagId=1.0}], ruleSetId=3.0}], id=3.0}
第二个对象
name=Homepage 2, rules=[{name=Homepage 2 OP SDR Sync, tags=[{variables=[
{},
{matchType=Regex, variable=v4, value=https://www.delta.com/},
{matchType=Regex, variable=v5, value=https://www.delta.com/},
{matchType=Regex, variable=v6, value=https://www.delta.com/},
{matchType=Regex, variable=v7, value=https://www.delta.com/}], condition=false, tagId=1.0}, {condition=false, tagId=1.0}], ruleSetId=3.0}], id=3.0}
请注意,两个对象都包含一个空元素...为什么添加该元素以及如何删除它?
最佳答案
您在此处定义了该空对象:
"variables":[
{
}
],
关于javascript - 空元素被添加到对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38098697/