Javascript.RU

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

Перебор двух массивов с разными индексами.
Добрый день, не могу решить данную задачу:
есть два массива:
1)первый целостный, допустим вида
[1,2,3,4,5,6,7,8,9,10]
2)второй я получаю динамически и он может выглядеть так:
[3,4,5,8,9]
то есть с пропущенными значениями.

Мне надо сделать условие вида:

если у второго массива под нулевым индексом значение не "1', то добвляем на страницу, скажем span с классом 'firstArrayValue', иначе span c классом 'secondArratValue' и перебор по всем значениям.
То есть на выходе мне нужен все значения первого массива, но с определенной меткой, если они встречаются во втором.

Из примера выше:
<span class="firstArray">1</span>
<span class="firstArray">2</span>
<span class="secondArray">3</span>
<span class="secondArray">4</span>
<span class="secondArray">5</span>
<span class="firstArray">6</span>
<span class="firstArray">7</span>
<span class="secondArray">8</span>
<span class="secondArray">9</span>
<span class="firstArray">10</span>

Первый массив фиксированный, и значения и индексы всегда одинаковые.

Подскажите как правильно их перебрать.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 30.10.2014, 11:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Dima_Dimov,
...
<!DOCTYPE HTML>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .firstArray {
            background: #FF6666;
        }
        .secondArray {
            background: #339933
        }
    </style>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script>
        $(function() {
            var firsArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                cecondArr = [3, 4, 5, 8, 9],
                $span = $.map(firsArr, function(el) {
                    var cls = $.inArray(el, cecondArr) != -1 ? 'secondArray' : 'firstArray';
                    el = $('<span/>', {
                        'text': el,
                        'class': cls
                    }).appendTo('body')
                    return el
                })
        });
    </script>
</head>

<body>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 30.10.2014, 11:37
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от Dima_Dimov
если у второго массива под нулевым индексом значение не "1', то добвляем на страницу, скажем span с классом 'firstArrayValue', иначе span c классом 'secondArratValue' и перебор по всем значениям.
...
Из примера выше:
Ты даже условие неправильно написал для этого "Из примера выше"... Из примера видно, что позиция элемента в массиве вообще никакой роли не играет. Проверяется простое наличие значения из одного массива в другом.

Последний раз редактировалось ksa, 30.10.2014 в 11:45.
Ответить с цитированием
  #4 (permalink)  
Старый 30.10.2014, 11:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

ksa,
Ответить с цитированием
  #5 (permalink)  
Старый 30.10.2014, 12:12
Новичок на форуме
Отправить личное сообщение для Dima_Dimov Посмотреть профиль Найти все сообщения от Dima_Dimov
 
Регистрация: 30.10.2014
Сообщений: 2

Спасибо большое за решение. Не знал о таком методе jquery. Ну ладно вам, все учатся, все тупят порой.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложение всех элементов двух массивов. sharun Общие вопросы Javascript 27 14.05.2018 15:38
Пересечение и разность двух массивов harold Общие вопросы Javascript 9 18.12.2013 21:41