Javascript.RU

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

Помогите решить проблему с массивом
Здравствуйте! Есть задача удалить из массива, который содержит значения 2..99, 2*p, 3*p, 4*p и т.д., где p = 2 и p = 3. Вот код, что я написал
<script>
			var a = [];
			for(var i = 0; i < 98; i++){
				a[i] = (i + 2);
			}
			alert( a );
			begin = 2;
			index = (a.indexOf(begin) + 1);
			var p = 2;
			for(i = index; i < 98; i++){
				if((a[i] % (begin * p)) == 0){
					a[i] = '-';
					p++;
				}
			}
			alert(a);
			begin = 3;
			for(i = 2; i < 98; i++){
				if(a[i]=='-'){
					continue;
				}
				if((a[i] % (begin * p)) == 0){
					a[i] = '-';
					p++;
				}
			}
			alert(a);
		</script>

Работает только для p = 2 но не 3. Проблема скорее всего в синтаксисе, а не в логике. Я новичок. Помогите, всю голову сломал
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2016, 23:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Bruha1991,
так?
<script>
var arr = [];
for (var i=2; i<100; i++)  {
  if(i%2 == 0 || i % 3 == 0) continue;
  arr.push(i)
};
document.write(arr)
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2016, 00:42
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

рони,
а если массив изначально сформирован и надо именно удалить, а не формировать из нужных значений?
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2016, 01:02
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

__

Последний раз редактировалось Keramet, 18.01.2016 в 01:09.
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2016, 01:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Keramet,
<script>
var arr = [];
for (var i=2; i<100; i++)  {
  if(i%2 == 0 || i % 3 == 0) continue;
  arr.push(i)
};
document.write(arr+"<br>")

for (var i = 2, arr = []; i < 99; i++) arr.push(i);

for (var i=arr.length-1, a; a = arr[i]; i--)  {if(a%2 == 0 || a % 3 == 0) arr.splice(i,1)}

document.write(arr)

</script>

Последний раз редактировалось рони, 18.01.2016 в 01:15.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить проблему! Очень прошу помочь! sizdim Элементы интерфейса 2 06.04.2015 07:59
Помогите решить проблему со скроллом Jigan2 jQuery 0 20.03.2015 10:42
Помогите решить проблему Ingiborn Общие вопросы Javascript 0 10.07.2014 13:12
History API. Помогите решить проблему InviS Events/DOM/Window 2 16.10.2011 14:34
Помогите решить проблему felixfix Общие вопросы Javascript 4 21.04.2011 12:00