const index = str.search(/\d\D*$/);
// или
const index = str.replace(/\D*$/, '').length - 1;
// или
const index = [...str].reduce((max, n, i) => +n === +n ? i : max, -1);
// или
const index = +(Object.entries(str).filter(n => !isNaN(n[1])).pop() || [ -1 ])[0];
// или
let index = str.length;
while (--index >= 0 && !'0123456789'.includes(str[index])) ;
// или
const index = (function get(i) {
return i < 0 || !Object.is(str.charAt(i) * 1, NaN)
? i
: get(~-i);
})(~-str.length);
$('#imgTitle').find('img').remove().end().prepend(...
И еще почему всегда первый элемент в опций виден как undefined ?
И если убрать ng-model то 1-ая опций undefined не будет.
If the viewValue of ngModel does not match any of the options, then the control will automatically add an "unknown" option, which it then removes when the mismatch is resolved.
$('.mod__l').append(function() {
return ({
m1: mod__c1,
m2: mod__c2,
m3: mod__c3,
})[$('.mod__input', this).data('mod')];
});
Помогите пожалуйста понять почему следующий код выводит undefined, а не 5
$(document).mouseup(function (e) { var popup = $('#free_moto_lesson'); if (e.target!=popup[0]&&popup.has(e.target).length === 0){ $('.overlay').fadeOut(); $(popup).fadeOut(); } return false; });
return false.
Нужно ли выносить в отдельный компонент это?
name: 'v-tree',
props: [ 'items' ],<ul v-if="Array.isArray(items) && items.length">
<li v-for="n in items">
{{ n.name }}
<v-tree :items="n.children" />
</li>
</ul>
как сделать, чтобы можно было выбрать максимум 5 дней
кстати когда убираю кусок кода, который переводит на русский, все работает
А как в таком случае сбросить начальную и конечную дату, если нужно другие числа выбрать?
const parentSelector = '.menu';
const indices = [ 0, 1, 4, 8 ];const $elems = $(parentSelector).children().filter(i => indices.includes(i));
// или
const $elems = $(indices.map(n => `> :eq(${n})`).join(', '), parentSelector);const elems = Array.prototype.filter.call(
document.querySelector(parentSelector).children,
(n, i) => indices.includes(i)
);
// или
const elems = document
.querySelector(parentSelector)
.querySelectorAll(indices.map(n => `:scope > :nth-child(${n + 1})`));
data: () => ({
showModal: false
})<button @click="showModal = true">Открыть склад</button>
<store-modal-component
:show-modal="showModal"
@close="showModal = false"
></store-modal-component>props: [ 'showModal' ].modal-mask заменить @close="showModal = false" на @click.self="$emit('close')" (модификатор self - это чтобы не обрабатывать клики с вложенных элементов, т.е., собственно окна и его содержимого).
Можно ли не прописывать в каждом дочернем элементе мета теги - requireAuth и т.д.?
совпавшие записи маршрутов оказываются доступны через объект$route(а также через объекты маршрутов в сторожевых хуках), в виде массива$route.matched. Таким образом, для проверки метаданных в записях маршрутов нам понадобится обойти$route.matchedв цикле.
class App extends React.Component {
state = {
value: '',
}
onChange = ({ target: { value } }) => {
this.setState({ value });
}
render() {
const name = this.state.value.split(/\s+/);
return (
<div>
<input onChange={this.onChange} />
<p>Ф: {name[0]}</p>
<p>И: {name[1]}</p>
<p>О: {name[2]}</p>
{name[3] && <p>WTF??! {name.slice(3)}</p>}
</div>
);
}
}
На практике для упрощения кода часто используется деструктуризация аргументов из ES2015 (особенно при необходимости многократного вызоваcommit):
actions: { increment ({ commit }) { commit('increment') } }
пишет что jobClass не является функцией