Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перебрать массив чисел (https://javascript.ru/forum/misc/75294-perebrat-massiv-chisel.html)

frost83 19.09.2018 10:22

Перебрать массив чисел
 
Подскажите, есть массив с числами как вывести только те которые не начинаются на определенные числа. Если в виде строк то получается а с числами не как. Буду весьма благодарен за помощь, только учусь.
let arr = ['35689', '58988', '72569', '465465', '111111', '398989', '545454'];
for (let i=0; i<arr.length; i++){
    let one = arr[i].charAt(0);
    if (one !== '3' && one !== '7'){
        alert(arr[i]);
    }
 }

Dilettante_Pro 19.09.2018 10:28

Ответ присутствует в вашем вопросе:
Цитата:

Сообщение от frost83
Если в виде строк то получается

<script>
let arr = [35689, 58988, 72569, 465465, 111111, 398989, 545454];
for (let i=0; i<arr.length; i++){
    let one = arr[i].toString().charAt(0);
    if (one !== '3' && one !== '7'){
        document.write(arr[i] + '<br>');
    }
 }
</script>

frost83 19.09.2018 10:35

Спасибо! Сосредотачиваюсь на одном и забываю про другое :thanks:

Andrey_szr 19.09.2018 10:43

Вот так попробуйте:
var arr = ['35689', '58988', '72569', '465465', '111111', '398989', '545454'];
	for (var i=0; i<arr.length; i++){
	    var one = arr[i].charAt(0);
	    if ((one != '3') && (one != '7')){
	        document.write(arr[i] + '<br>');
	    };
	 };

Думаю без метода .toString() можно обойтись.

Andrey_szr 19.09.2018 11:13

У меня самого вопрос по перебору массива:
Имеется два массива.
Каким образом выбирая i-ый элемент массива 1 получить i-элемент массива 2?
Не придумал ничего умнее как условие поместить в цикл.
Наверняка есть иной вариант.

рони 19.09.2018 11:25

Andrey_szr,
:-? пытаюсь понять, что вы спросили.

Dilettante_Pro 19.09.2018 11:27

Andrey_szr,
Цитата:

Сообщение от Andrey_szr
Вот так попробуйте:

Читайте пост 1.
Цитата:

Сообщение от Andrey_szr
Каким образом выбирая i-ый элемент массива 1 получить i-элемент массива 2?

Точно так же, как и первого

frost83 19.09.2018 12:18

Andrey_szr нет, мне надо чтобы в массиве они числами были. Я про хотел понять можно как то массив с числами перебрать по нужным значениям. А есть ли способы не переводя в string и сравнивать?

Andrey_szr 19.09.2018 12:22

Возможно не так выразился.
Если в поле textarea ввести число из массива 1, то ниже выводится соответствующий результат из массива 2.
Для этого циклом перебираю элементы и внутри каждой итерации сравниваю соответствует ли i-й элемент введенному.
Как упростить сей код и избавиться от цикла?
$('#sometext').keyup(function (){
	var arr1 = ['1', '2', '3', '4', '5'];
	var arr2 = ['Один', 'Два', 'Три', 'Четыре', 'Пять'];
	var sometext=$('#sometext').val();
	for (var i=0; i < arr1.length; i++){
	    if (sometext == arr1[i]){
	    $('#sometext2').html(arr2[i]);
		break;
	};
	 };
	 });

рони 19.09.2018 12:34

Andrey_szr,
indexOf для этого есть


Часовой пояс GMT +3, время: 16:15.