给定一个数组,它将始终包含two
或three
值。我需要确定最大值的索引并添加属性,让它可以说main
。然后根据设置的顺序将left
设置为第一小值并将right
设置为第二小值。 (小心array6
)按数值和顺序确定数组
总是有一个main
。
很容易确定,如最大的价值:
var array1 = [0.25, 0.75]; // desired result: ['left', 'main']
var array2 = [0.75, 0.25]; // desired result: ['main', 'right']
var array3 = [0.25, 0.50, 0.25]; // desired result: ['left', 'main', 'right']
var array4 = [0.50, 0.25, 0.25]; // desired result: ['main', 'left', 'right']
var array5 = [0.25, 0.25, 0.50]; // desired result: ['left', 'right', 'main']
var array6 = [0.40, 0.10, 0.50]; // desired result: ['left', 'right', 'main']
var array7 = [0.50, 0.50]; // desired result: ['left', 'main']
index1 = array1.indexOf(Math.max.apply(Math, array1));
index2 = array2.indexOf(Math.max.apply(Math, array2));
index3 = array3.indexOf(Math.max.apply(Math, array3));
index4 = array4.indexOf(Math.max.apply(Math, array4));
index5 = array5.indexOf(Math.max.apply(Math, array5));
index6 = array6.indexOf(Math.max.apply(Math, array6));
console.log(
'index1: ', index1,
'index2: ', index2,
'index3: ', index3,
'index4: ', index4,
'index5: ', index5,
'index6: ', index6
);
但我怎么能达到预期结果的不休息,现在100,如果用别的来确定?
更新 数组值的总和总是为1
。
我不认为它在很短的一行是可能的(或读取)。相反,我会写一个函数'function(probabilities){return ['left','right','main']; }'并使用if/else块。当功能正在工作时,您可以尝试优化和组合类似的代码块。 – user3151902
'[0.50,0.25,0.75]'应该输出什么?它是“[左,右,主]”吗?但'0.50'大于'0.25',根据你的问题,它会是'[right,left,main]' –
oooh @KoushikChatterjee好问题!我会更新这个问题,因为我在那里提到它是错误的!它应该是'[''左','右','主']' – caramba