const result = Object.entries(commonObj).map(([ k, v ]) => ({
objDataName: (objectData.find(n => n.key === k) || {}).name || null,
packageName: (packageData.find(n => n.id === v.package_id) || {}).title || null,
}));
const arrToObj = (arr, key, val) =>
arr.reduce((acc, n) => (acc[n[key]] = n[val], acc), {});
const objects = arrToObj(objectData, 'key', 'name');
const packages = arrToObj(packageData, 'id', 'title');
const result = Object.entries(commonObj).map(n => ({
objDataName: objects[n[0]] || null,
packageName: packages[n[1].package_id] || null,
}));
for (let i = 0; i < 6; i++) {
const count = res.data.filter(n => +n.categoryid === i).length;
$(`#category_count_${i}`).html(`(${count})`);
}
const checkItem = item => item.categoryid === '3';
const count = response.data.filter(checkItem).length;
// или
const count = response.data.reduce((acc, n) => acc + checkItem(n), 0);
// или
let count = 0;
for (const n of response.data) {
count += checkItem(n);
}
// или
const count = eval(response.data.map(checkItem).join('+')) || 0;
checked
не приводит к возникновению события change
, так что его следует создавать самостоятельно - добавьте .trigger('change')
после вызова prop
. <div class="1">
transition
, добавить анимацию: animation: show 10s;
.@keyframes show {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
<thead v-if="options.head">
...
<tbody v-if="options.body">
const getChunks = (arr, chunkSize) =>
Array.from(
{ length: Math.ceil(arr.length / chunkSize) },
(n, i) => arr.slice(i * chunkSize, (i + 1) * chunkSize)
);
// или
const getChunks = (arr, chunkSize) =>
arr.reduce((acc, n, i) => (
i = i / chunkSize | 0,
(acc[i] = acc[i] || []).push(n),
acc
), []);
// или
const getChunks = (arr, chunkSize) =>
arr.reduce((acc, n, i) => (
(i % chunkSize) || acc.push([]),
acc[acc.length - 1].push(n),
acc
), []);
const arr = [...Array(50).keys()];
const chunks = getChunks(arr, 7);
const links = document.querySelectorAll('a');
// или
const links = document.getElementsByTagName('a');
const getHref = el => el.getAttribute('href');
// или
const getHref = el => el.attributes.href.value;
const hrefs = Array.from(links, getHref);
// или
const hrefs = Array.prototype.map.call(links, getHref);
// или
const hrefs = [];
for (const n of links) {
hrefs.push(getHref(n));
}
// или
const hrefs = [];
for (let i = 0; i < links.length; i++) {
hrefs[i] = getHref(links[i]);
}
Ведь у пустого массива есть численное представление: +[] вернет 0.
false+[]
нет преобразования массива в число. Есть сложение - массив преобразовывается в строку, false тоже. Если интересуют детали - можете ознакомится со спецификацией. methods: {
trans
}
В state.FIELDS.formFieldsMap
данные лежат
Действительно, а как тогда быть?
getters: {
transportFields: state => state.FIELDS.formFieldsMap || [],
...
mutations: { [GET_USER_INFO](state) { axios.get('http://localhost:3000/user') ...
хочется, чтоб saveProfile или действие, которое внутри - this.$store.dispatch('loadInfo') вызывалось сразу после того, как загружено начальное состояние
<alien-component :value="value" @input="$emit('input', this.$event.target.value)" />
<alien-component
:value="value"
@input="$emit('input', $event)"
/>
Хочу получить метод из родителя родителя.
<div id="sound-btn-wrapper">
<div class="btn btn-start">On</div>
<div class="btn btn-stop">Off</div>
</div>
const audio = new Audio('...');
$('#sound-btn-wrapper').on('click', '.btn', function() {
audio.pause();
if ($(this).hasClass('btn-start')) {
audio.currentTime = 0;
audio.play();
}
});