function getGridSize() {
const w = window.innerWidth;
return [ 500, 700, 1225, Infinity ].findIndex(n => n > w) + 1;
}
function getGridSize() {
const w = window.innerWidth;
return [
{ size: 1, maxWidth: 500 },
{ size: 2, maxWidth: 700 },
{ size: 3, maxWidth: 1225 },
{ size: 4, maxWidth: Infinity },
].find(n => n.maxWidth > w).size;
}
const isEqual = (a, b) =>
a.length === b.length && a.every((n, i) => Object.is(n, b[i]));
const includes = (arrs, search) =>
arrs.some(n => isEqual(n, search));
console.log(includes(array, [ 21, 81 ]));
. el.dispatchEvent(new Event('click'));
// или, если обработчик клика висит не на самом svg, а выше
el.dispatchEvent(new Event('click', { bubbles: true }));
const colors = [
{ color: '...', image: '...' },
{ color: '...', image: '...' },
...
];
background-color
на background-image
:const colorsItems = colors
.map(n => `
<button
style="background-image: url(${n.image})"
class="palette-button"
data-color="${n.color}"
></button>`)
.join('');
.palette-button
- приводите в порядок background:background-position: center;
background-size: contain;
background-repeat: no-repeat;
const markerData = [
{ coord: [ ... ], content: '...' },
{ coord: [ ... ], content: '...' },
...
];
markerData.forEach(function(n) {
const marker = new google.maps.Marker({
position: new google.maps.LatLng(...n.coord),
map,
});
marker.addListener('click', function() {
infowindow.setContent(n.content);
infowindow.open(map, marker);
});
});
const filterByProps = Object.entries(this.state.filters).filter(n => n[1]).map(n => n[0]);
const filteredItems = this.state.items.filter(n => filterByProps.every(m => n[m]));
$sql = "{$action} * FROM {$table} WHERE {$field} {$operator} ?";
DELETE * FROM ...
. Круто. Не знал, что так можно. Или всё-таки нельзя? key = lambda item: (item[0], item[3])
keys = set(map(key, list_in))
list_out = [ [ k[0], sum(int(n[2]) for n in list_in if k == key(n)), k[1] ] for k in keys ]
name="delivery"
, data-post
- пусть оба будут или delivery, или post). Сделайте пустыми строками значения option'ов, которые соответствуют всем вариантам.$('.result-btn').on('click', function() {
const values = $('select')
.get()
.filter(n => n.value)
.map(n => [ n.name, n.value.toLowerCase() ]);
$('.delivery-table-item')
.show()
.filter((i, { dataset: d }) => values.some(([ k, v ]) => d[k].toLowerCase() !== v))
.hide();
});
создаёт новый массив со всеми значениями, для которых функцияcallback
вернула значение, которое может быть приведено кtrue
true
, если элемент массива является числом, то есть, в результирующий массив попадают только числа, и неважно, каковы их значения. Во втором случае вы возвращаете сам элемент, если он является числом, а нули, они да - имеют своим булевым эквивалентом false
, поэтому и отбрасываются. data: () => ({
links: [
{ to: '...', title: '...' },
{ to: '...', title: '...' },
...
],
}),
<ul>
<router-link v-for="n in links" :to="n.to" v-slot="s">
<li :class="{ active: s.isExactActive }">
<a :href="s.href" @click="s.navigate">{{ n.title }}</a>
</li>
</router-link>
</ul>