【发布时间】:2019-07-02 13:39:29
【问题描述】:
我是 Javascript 和一般编码的新手,所以如果这个问题很愚蠢,请原谅我。我想知道是否可以重用或引用一段代码,特别是一组对象。目前,完全相同的代码块使用了 8-10 次,并且需要定期更新代码块,这意味着我们必须更新同一代码块 8-10 次。如果有一种方法可以定义代码块以便它可以被引用/重用,并且对这个代码块的更改将在整个引用中镜像,那么脚本不仅会变得更容易管理,而且它也将变成原来大小的一半。
脚本用于通过预出价和标头出价进行广告投放(如果有的话)。基本上,设置是一个包含广告单元的数组,每个广告单元都包含一个标识符代码、允许的尺寸格式和一组投标人。我想重用它的这一系列投标人。我将在下面提供一个广告单元(匿名)的当前代码示例。
到目前为止,我还没有成功地在网上找到任何解决方案。
var adUnits = [
{
code: "0000001",
sizes: [[980, 300], [980, 150]],
// The code below is what I want to reuse
bids: [
{
bidder: "bidder1",
params: {
mid: 000001,
adxDomain: 'adx.domainhere.net'
}
},{
bidder: "bidder2",
params: {
accountId: '00002',
siteId: '00002',
zoneId: '000002'
}
},{
bidder: "bidder3",
params: {
mid: 000003,
adxDomain: 'adx.domeinhere.net'
}
},{
bidder: 'bidder4',
params: {
placementId: '00000004'
}
},{
bidder: 'bidder5',
params: {
placementId: '00000005',
keywords: {
'no-sno-publishergroup': ['nameIdentifier']
},
user: {
externalUid: getAdId()
}
}
}]
谁能指出我正确的方向?
编辑:
内部的更改仅限于添加新的投标者(bidder6、bidder7 等具有自己的参数),这意味着数组中的对象数量可能会增加。可能,投标人的顺序也可能发生变化,因此不依赖索引的解决方案会很棒。
另外请注意,我们的脚本中有大约 20 多个广告单元,其中许多具有相同的对象数组(出价者及其参数),但有些广告单元的数组略有不同(参数的值不同)。我需要能够在脚本中重用总共 4-5 组不同的数组。所以我需要能够分别参考这些。
【问题讨论】:
-
你如何改变里面的项目?你能提供一个相同代码块的例子吗?
-
var bids = adUnits[0].bids- 现在可以在代码中的任何位置使用出价。你是这个意思吗? -
内部的变化仅限于添加新的bidder(bidder6、bidder7等,带有自己的参数),这意味着数组中的对象数量可能会增加。可能,投标人的顺序也可能发生变化,因此不依赖索引的解决方案会很棒。另请注意,我们在一个脚本中有大约 20 多个广告单元,其中许多具有相同的对象数组(出价者及其参数),但有些广告单元的数组略有不同(参数的值不同)。我需要能够在脚本中重用总共 4-5 组不同的数组。
标签: javascript prebid.js header-bidding