Дан массив числами, например: ['10', '20', '30', '50', '235', '3000']. Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.
я не могу понять, как нужно поставить условие, чтобы выполнить эту задачу
JavaScript
нужно решить задач с помощь js ...
Куда уж проще !
arr=['10', '20', '30', '50', '235', '3000'].filter(a=>/^[125].*/.test(a)&&(console.warn(a),a));
Выведет список совпадений в консоль + создаст массив arr с совпадениями!
Вот ещё вариант только не в начале а в конце
arr=['10', '20', '32', '50', '235', '3001'].filter(a=>/^\d*[125]$/.test(a)&&(console.warn(a),a));
⚤
arr=['10', '20', '30', '50', '235', '3000'].filter(a=>/^[125].*/.test(a)&&(console.warn(a),a));
Выведет список совпадений в консоль + создаст массив arr с совпадениями!
Вот ещё вариант только не в начале а в конце
arr=['10', '20', '32', '50', '235', '3001'].filter(a=>/^\d*[125]$/.test(a)&&(console.warn(a),a));
⚤
var mass = [10, 20, 30, 50, 235, 3000];
for (i in mass) {
var chr = Math.abs(mass[i]).toString()[0];
if (chr === '1' || chr === '2' || chr === '5') { console.log(mass[i]); }
}
Ещё проще через регулярки:
var mass = [10, 20, 30, 50, 235, 3000];
for (i in mass) {
if (/^-?[125]/.test(mass[i])) { console.log(mass[i]); }
}
for (i in mass) {
var chr = Math.abs(mass[i]).toString()[0];
if (chr === '1' || chr === '2' || chr === '5') { console.log(mass[i]); }
}
Ещё проще через регулярки:
var mass = [10, 20, 30, 50, 235, 3000];
for (i in mass) {
if (/^-?[125]/.test(mass[i])) { console.log(mass[i]); }
}
var arr = ['10', '20', '30', '50', '235', '3000'];
var arr2 = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i].charAt(0) == '1' || arr[i].charAt(0) == '2' || arr[i].charAt(0) == '5') {
arr2.push(arr[i]);
}
};
document.write(arr2);
var arr2 = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i].charAt(0) == '1' || arr[i].charAt(0) == '2' || arr[i].charAt(0) == '5') {
arr2.push(arr[i]);
}
};
document.write(arr2);
const arr = ['10', 20, '30', '50', '235', '3000'];
const frst = ['1', '2', '5'];
for (let v of arr) {
if (frst.includes(String(v).charAt(0)))
console.log(v);
}
Ну или в одну строку:
console.log(arr.filter(v => frst.includes(String(v).charAt(0))).join(', '));
const frst = ['1', '2', '5'];
for (let v of arr) {
if (frst.includes(String(v).charAt(0)))
console.log(v);
}
Ну или в одну строку:
console.log(arr.filter(v => frst.includes(String(v).charAt(0))).join(', '));
тебе число необходимо перевести в строку и сравнить первый символ
let arr = [ 10, 20, 30, 50, '235', 3000, null, NaN ];
function fn( arr, ..rest ) {
let pattern = new RegExp( '^[' + rest.join( '' ) + ']' );
let result = [];
for( let el of arr ) {
if( pattern.test( el )) {
result.push( +el );
}
}
return result;
}
let result = fn( arr, 1, 2, 5 );
console.log( result );
Код тут: https://jsfiddle.net/5ot0u9L6/39/
function fn( arr, ..rest ) {
let pattern = new RegExp( '^[' + rest.join( '' ) + ']' );
let result = [];
for( let el of arr ) {
if( pattern.test( el )) {
result.push( +el );
}
}
return result;
}
let result = fn( arr, 1, 2, 5 );
console.log( result );
Код тут: https://jsfiddle.net/5ot0u9L6/39/
Иван Бондаревский
В задачи не ставится наличия смешных данных но если токовые имеются делаем так
[ 10, 20, 30, 50, '235', 3000, null, NaN ].filter(a=>/^[125].*/.test(a+'')&&(console.warn(a),a));
:)
⚤
[ 10, 20, 30, 50, '235', 3000, null, NaN ].filter(a=>/^[125].*/.test(a+'')&&(console.warn(a),a));
:)
⚤
<?php
//Первый вариант
$arr=['10', '20', '30', '50', '235', '3000'];
foreach ($arr as $v) {
if ($v[0]==1){echo "{ ".$v." }";}
if ($v[0]==2){echo "{ ".$v." }";}
if ($v[0]==5){echo "{ ".$v." }";}
}
echo "";
?>
<?php
//Второй вариант
$arr=['10', '20', '30', '50', '235', '3000'];
foreach ($arr as $v) { switch ($v[0]){
case 1: echo "[ ".$v." ]"; break;
case 2: echo "[ ".$v." ]"; break;
case 5: echo "[ ".$v." ]"; break; }
}
?>
//Первый вариант
$arr=['10', '20', '30', '50', '235', '3000'];
foreach ($arr as $v) {
if ($v[0]==1){echo "{ ".$v." }";}
if ($v[0]==2){echo "{ ".$v." }";}
if ($v[0]==5){echo "{ ".$v." }";}
}
echo "";
?>
<?php
//Второй вариант
$arr=['10', '20', '30', '50', '235', '3000'];
foreach ($arr as $v) { switch ($v[0]){
case 1: echo "[ ".$v." ]"; break;
case 2: echo "[ ".$v." ]"; break;
case 5: echo "[ ".$v." ]"; break; }
}
?>
Похожие вопросы
- Не могу решить задачу по JS
- Помогите решить задачу по js! Программа выводит все заглавные буквы в тексте. Как распределить эти буквы по алфавиту?
- Что нужно знать перед изучением React.js 2020?
- Как с помощью js придать в тексте конкретной букве или знаку стили
- Помогите решить задачу на языке java
- Помогите решить задачу
- помогите решить задачу по javascript
- Помогите решить задачи в Javascript:
- Помогите решить задачу в JavaScript, тема: матрицы.
- Задача на логику в js
var mass=['10', '20', '30', '50', '235', '3000'];
for (i=0;i<mass.length;i++) {
if (...) {
document.write(mass[i]);
}
}
var w=[10,20,30,50,235,2]
var q=[10,20,30,50,235,2]
for(i=0;i<=w.length-1;i++)
{
if(w[i]>=10)
{
while(w[i]>=10){w[i]=w[i]/10}
if(0<w[i] && w[i]<2||1<w[i] && w[i]<3||4<w[i] && w[i]<6){console.log(q[i])}
}
else console.log(w[i])
}