[array[j], array[j+1]] = [array[j+1], array[j]]; разворачивается вarray[j] = array[j+1]
array[j+1] = array[j]как Js понял, что нужно поменять именно в массиве arr числа местами.
array это ссылка на arr, вот и поменял. document.querySelector('.close').addEventListener('click', function(e){
e.stopPropagation()
document.querySelector('.result').insertAdjacentHTML('beforeend', '<div>Close</div>');
});<span>
{{ productsCount }}
</span>computed: {
productsCount() {
return this.checkedInput.reduce((acc, i) => { acc+= i.products.length; return acc }, 0)
}
} .then(({ json }) =>
({ data: {id: json.json[resource].id} })
)({ json }) - Деструктуризация входных параметров, то есть в качестве аргумента поступает объект, из которого извлекается свойство json в переменную. json.как это переписать в обычную функцию, чтоб там можно было поставить точку останова, или вписать debugger
.then(({ json }) => {
debugger
return { data: { id: json.json[resource].id } } // круглые скобки уже не нужны, так как используется return
})зачем лишние скобки вокруг аргумента и возврата
return, то нужно обернуть его в скобки, условно, чтобы движок понимал разницу между телом функции, которое так же открывается через {} скобки и объектом.() => { return {} } тоже самое что () => ({})Как переписать короткую функцию в нормальную на javascript
}).then(function(info) {
return { data: { id: info.json.json[resource].id } }
}) что я сделал не так
function func() {
elem.textContent += (Number(elem.dataset.productPrice) + Number(elem.dataset.productAmount))
} - return Promise.resolve({ user.id, user.username });
+ return Promise.resolve({ id: user.id, name: user.username });- return Promise.resolve({ user.id, user.username });
+ return Promise.resolve({ "user.id": user.id, "user.username": user.username }); К чему относятся эти «приемы»
Webpack
Npm
что именно мне нужно учить
что делать на фронтенде
.call или .apply=function name() {}.Array.prototype.last = function() {
return this[this.length-1]
}
// [1,2,3].last()
// 3метод и свойство массива
Object.defineProperty(Array.prototype, 'last', {
get: function() {
return this[this.length-1]
},
enumerable: false,
configurable: false
})
// [1,2,3].last
// 3 const openPopUp = document.getElementById('open_pop_up'); - id должен быть уникальным в рамках страницы. Не должно быть более одного элемента, с повторяющимся id. В итоге тут будет найден только первый в разметке элемент с таким id. То есть только первая кнопка "заказать" будет работать.const closePopUp = document.getElementById('pop_up_close'); - не существует элемента с таким id. Есть с class.const popUp = document.getElementById('pop_up'); - аналогично предыдущему.<a class="table_box_button" href="#" class="open_pop_up">Заказать</a> Это где Вы научились два раза один и тот же атрибут объявлять на элементе? Объединить в один. он возвращает дату в формате
MM-DD-YYYY - месяц день год
как-то можно без библиотек поменять на
DD-MM-YYYY
var d = document.querySelector('input[type="date"]')
d.addEventListener('change', function(){
console.log(this.value) // YYYY-MM-DD
const [y, m, d] = this.value.split('-')
console.log(`${d}-${m}-${y}`) // DD-MM-YYYY
}) $('.cart-arrow, main') какие по Вашему выбираются элементы в этом селекторе?-themeCheckBox.checked = localStorage.getItem('themeCheckBox')
+themeCheckBox.checked = localStorage.getItem('themeCheckBox') === 'true'