【发布时间】:2019-03-20 09:05:01
【问题描述】:
我正在尝试找出一种方法来根据它的权重属性从数组中选择一个随机对象。这是一个示例数组:
var item = [{
verDiv: 'div-gpt-ad-1553003087342-0',
verKv: 'version1',
verSize: [300, 250],
weight: 10 //should be chosen in 10% of cases
},
{
verDiv: 'div-gpt-ad-1553003087342-1',
verKv: 'version2',
verSize: [300, 250],
weight: 25 //should be chosen in 25% of cases
},
{
verDiv: 'div-gpt-ad-1553003087342-2',
verKv: 'version3',
verSize: [160, 600],
weight: 25 //should be chosen in 25% of cases
},
{
verDiv: 'div-gpt-ad-1553003087342-3',
verKv: 'version4',
verSize: [728, 90],
weight: 40 //should be chosen in 40% of cases
}];
我想要做的是通过使用一个函数来选择四个对象之一,该函数将它们的权重属性考虑在内,因此我可以在需要时调用其他属性。
console.log([item[weightFunction()].verDiv]);
console.log([item[weightFunction()].verKv]);
console.log([item[weightFunction()].verSize]);
编辑:以上只是一个建议,我相信还有更好的方法。
【问题讨论】:
-
做
weightFunction(item)会更有意义
标签: javascript arrays object weighted