Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2018, 10:22
Новичок на форуме
Отправить личное сообщение для frost83 Посмотреть профиль Найти все сообщения от frost83
 
Регистрация: 03.09.2018
Сообщений: 3

Перебрать массив чисел
Подскажите, есть массив с числами как вывести только те которые не начинаются на определенные числа. Если в виде строк то получается а с числами не как. Буду весьма благодарен за помощь, только учусь.
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]);
    }
 }

Последний раз редактировалось frost83, 19.09.2018 в 10:27.
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2018, 10:28
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Ответ присутствует в вашем вопросе:
Сообщение от 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>

Последний раз редактировалось Dilettante_Pro, 19.09.2018 в 10:32.
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2018, 10:35
Новичок на форуме
Отправить личное сообщение для frost83 Посмотреть профиль Найти все сообщения от frost83
 
Регистрация: 03.09.2018
Сообщений: 3

Спасибо! Сосредотачиваюсь на одном и забываю про другое
Ответить с цитированием
  #4 (permalink)  
Старый 19.09.2018, 10:43
Интересующийся
Отправить личное сообщение для Andrey_szr Посмотреть профиль Найти все сообщения от Andrey_szr
 
Регистрация: 26.02.2010
Сообщений: 22

Вот так попробуйте:
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 в 10:47.
Ответить с цитированием
  #5 (permalink)  
Старый 19.09.2018, 11:13
Интересующийся
Отправить личное сообщение для Andrey_szr Посмотреть профиль Найти все сообщения от Andrey_szr
 
Регистрация: 26.02.2010
Сообщений: 22

У меня самого вопрос по перебору массива:
Имеется два массива.
Каким образом выбирая i-ый элемент массива 1 получить i-элемент массива 2?
Не придумал ничего умнее как условие поместить в цикл.
Наверняка есть иной вариант.
Ответить с цитированием
  #6 (permalink)  
Старый 19.09.2018, 11:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Andrey_szr,
пытаюсь понять, что вы спросили.
Ответить с цитированием
  #7 (permalink)  
Старый 19.09.2018, 11:27
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Andrey_szr,
Сообщение от Andrey_szr
Вот так попробуйте:
Читайте пост 1.
Сообщение от Andrey_szr
Каким образом выбирая i-ый элемент массива 1 получить i-элемент массива 2?
Точно так же, как и первого
Ответить с цитированием
  #8 (permalink)  
Старый 19.09.2018, 12:18
Новичок на форуме
Отправить личное сообщение для frost83 Посмотреть профиль Найти все сообщения от frost83
 
Регистрация: 03.09.2018
Сообщений: 3

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

Последний раз редактировалось frost83, 19.09.2018 в 12:22.
Ответить с цитированием
  #9 (permalink)  
Старый 19.09.2018, 12:22
Интересующийся
Отправить личное сообщение для Andrey_szr Посмотреть профиль Найти все сообщения от Andrey_szr
 
Регистрация: 26.02.2010
Сообщений: 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;
	};
	 };
	 });
Ответить с цитированием
  #10 (permalink)  
Старый 19.09.2018, 12:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Andrey_szr,
indexOf для этого есть
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найдите сумму четных чисел из массива yaparoff Общие вопросы Javascript 3 18.01.2017 09:37
Перебрать массив и вытащить значения Gerd199 Общие вопросы Javascript 5 14.03.2016 18:35
Нужно перебрать элементы добавить их в массив и добавить к элементам класс Сергей_FE Оффтопик 8 30.08.2015 17:06
Отправить, когда четко соберется массив vas88811 Events/DOM/Window 11 26.02.2014 21:55
Перебрать массив daMage Events/DOM/Window 4 05.10.2010 15:15