我创建一个对象从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
});
}
}
下面是一个例子:
duplicates
= [ {scopeDef=.*, scope=Global 4, variable=[trackingcode, v1, v2]}, {scopeDef=https://www.delta.com/, scope=Homepage 2, variable=[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}
注意,这两个对象包含一个空的元素......为什么加入这个元素,以及如何才能摆脱它?
正确的,已经通过删除额外的'{}'解决了这个问题 – Valip
因此,@pavelvaleriu,你应该接受这个而不是在几分钟后提供相同的答案。 – JAAulde