- return aDist < bDist;
+ return aDist - bDist;
aDist < bDist
всегда будет либо true, либо false, что в данном контексте будет трактоваться как 1 и 0, т.е. aDist всегда больше или равен bDist и никогда не меньше него. Из-за разных используемых алгоритмов сортировки, разные движки сходят с ума по разному. methods: {
setDeleteTimeout(message) {
message.timeout = setTimeout(this.удалитьСообщение, 5000, message);
},
delDeleteTimeout(message) {
clearTimeout(message.timeout);
message.timeout = null;
},
...
<div
v-for="n in messages"
@mouseenter="delDeleteTimeout(n)"
@mouseleave="setDeleteTimeout(n)"
...
const isAllUnique = (...args) => new Set(args).size === args.length;
console.log(isAllUnique(69, 187, 666)); // true
console.log(isAllUnique(2, 2, 3, 4)); // false
console.log(isAllUnique(...'ABCDA')) // false
<spam data-letter="П"></span>
<spam data-letter="р"></span>
<spam data-letter="и"></span>
<spam data-letter="в"></span>
<spam data-letter="е"></span>
<spam data-letter="т"></span>
$.fn.customSelect = function() {
return this.each(function() {
const $this = $(this).hide();
const $wrapper = $this.wrap('<div class="select_wrapper"></div>').parent();
$wrapper.append(`
<span>${$this.find(':selected').text()}</span>
<ul class="select_inner">${$this.children().get().map(n => `
<li data-value="${n.value}">${n.innerText}</li>`).join('')}
</ul>
`);
$wrapper.on('click', 'li', function() {
$wrapper.children('span').text(this.innerText);
$this.val(this.dataset.value).trigger('change');
});
$wrapper.on('click', function() {
$('ul', this).slideToggle('fast');
});
});
};
$('#materialColor, #kantcolor').customSelect().change(function() {
console.log(`#${this.id}: "${this.value}"`);
});
const closeInfoWindows = (...windows) => windows.forEach(w => w && w.close());
export function indexToFind () {...}
import { indexToFind } from 'utils.js';
import axios from 'axios';
Vue.prototype.$http = axios;