Попробуйте использовать следующий скрипт http://jsfiddle.net/jL044k1c/130/
function slide(event, ui) {
// Allow time for exact positioning
setTimeout(function () {
$(ui.handle).attr('title', ui.value).tooltip('fixTitle').tooltip('show');
}, 0);
}
function create(event, ui, start, end) {
var handles = $(event.target).find('span');
handles.eq(0).tooltip({
animation: false,
placement: 'top',
trigger: 'manual',
container: handles.eq(0),
title: start
}).tooltip('show');
handles.eq(1).tooltip({
animation: false,
placement: 'top',
trigger: 'manual',
container: handles.eq(1),
title: end
}).tooltip('show');
}
$('#slider').slider({
range: true,
min: 0,
max: 100,
values: [0, 100],
slide: function (event, ui) {
slide(event, ui)
},
create: function (event, ui) {
create(event, ui, $(this).slider('values', 0), $(this).slider('values', 1))
}
});
body {
padding: 100px;
}
.ui-slider-handle {
outline: none;
}
Но он имеет сбой, поскольку всплывающая подсказка впервые не появляется для значения «0».
Взяв ES6, вы можете использовать синтаксис расширения ...
, который принимает массив в качестве аргументов.
const arr = [4, 8, 2, 7, 6, 42, 41, 77, 32, 9];
const min = Math.min(...arr);
console.log(min);
С ES5 вы можете взять Function#apply
, что займет this
[118 ] и параметры в виде массива.
const arr = [4, 8, 2, 7, 6, 42, 41, 77, 32, 9];
const min = Math.min.apply(null, arr);
console.log(min);
Для невыровненных массивов возьмите функцию выравнивания, например
const
flat = array => array.reduce((r, a) => r.concat(Array.isArray(a) ? flat(a) : a), []),
array = [[1, 2], [3, 4]],
min = Math.min(...flat(array));
console.log(min);
[ 1123] Вы можете использовать map
для перебора вложенных массивов, а затем использовать Math.min(...array)
для каждого, чтобы получить минимум. Вывод из map
представляет собой массив минимальных значений.
const arr = [[4, 8, 2], [7, 6, 42], [41, 77, 32, 9]];
const out = arr.map(a => Math.min(...a));
console.log(out);
Используйте спред ...
и flat
:
const a = [[0, 45, 2], [3, 6, 2], [1, 5, 9]];
console.log(Math.min(...a.flat()));
Или вы можете использовать reduce
: [1111 ]
const arr = [[7, 45, 2], [3, 6, 2], [1, 5, 9]];
let r = arr.reduce((a, e) => Math.min(a, ...e), Infinity)
console.log(r);