[10, 20, 30, 50, 235, 3000].filter(n => !!~[1,2,5].indexOf(+n.toString()[0]))
// результат [ 10, 20, 50, 235 ]
Вывод на экран пилите самостоятельно.filter()
оставит только те элементы, для которых функция внутри вернёт true
. Функция аргумент (в скобках) применяется по очереди к каждому элементу массива (числу).+
).indexOf()
ищет полученную первую цифру в массиве допустимых: 1, 2, 5 и возврашает его индекс (0, 1 или 2) или -1, если не найдено.~
из -1 сделает 0. А из любого другого числа (из 0, 1 или 2) – сделает ненулевое число. Два !!
это два булевых оператора отрицания. Из аргумента делают true
или false
. Из 0 получится false
, из любого другого true
. Таким образом связка !!~
и indexOf()
даёт ответ на вопрос найден или не найден? function tabs(selector) {
const tab = document.querySelector(selector);
const tabNav = tab.querySelectorAll('.tabs-nav__item');
const tabContent = tab.querySelectorAll('.tab');
tab.addEventListener('click', selectTabNav);
function selectTabNav(event) {
const tabName = event.target.dataset.tabName;
if (!tabName) return;
tabNav.forEach(item => item.classList.remove('is-active'));
event.target.classList.add('is-active');
tabContent.forEach(item => {
item.classList.contains(tabName) ?
item.classList.add('is-active') :
item.classList.remove('is-active');
});
}
}
tabs('#tabs-1');
tabs('#tabs-2');
<div class="wrapper">
<div id="tabs-1" class="tabs">
<!-- ... -->
</div>
<div id="tabs-2" class="tabs">
<!-- ... -->
</div>
</div>
.current-menu-ancestor ul {
display: block !important;
}
function t3() {
return a3.map(function (item) {
return parseFloat(item);
}).filter(i => !isNaN(i))
}
$start = '1900-01-01';
$end = '1949-12-31';
$args = array(
'post_type' => 'events',
'posts_per_page' => -1,
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_key' => '_event_date',
'meta_query' => array(
array(
'key' => '_event_date',
'value' => array( $start, $end ),
'compare' => 'BETWEEN',
'type' => 'DATE'
)
)
);
$events_query = new WP_query( $args );
let a7 = [[1, 2], [3, 4], [5, 6]];
function t7() {
var arr = [];
for (let key in a7) {
arr.push(...a7[key]);
}
console.log(arr);
}