Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите с массивом (https://javascript.ru/forum/misc/18870-pomogite-s-massivom.html)

reslear 18.07.2011 23:54

Помогите с массивом
 
<script language="JavaScript" type="text/javascript">
uCatsOut = [
['29','22','0','Текстовые Редакторы','Программы для работы с текстом','ad/29','10'],
['48','22','0','Развлечение/Издевательство','издевательство','ad/48','3']
];

a = '48';
alert(uCatsOut[a]);
</script>


к примеру нужно найти число 48 в массиве и от туда же получить 3

это не предлагать
alert(uCatsOut[1][6]);

Sweet 19.07.2011 00:44

Цикл + цикл. Ну или .forEach + .indexOf

reslear 19.07.2011 01:08

а можно пример пожалуйста, а то я ещё ни разу не встречал такого)

Sweet 19.07.2011 01:21

По ссылкам есть примеры и написано доступно. Но это пока все же для общего развития. А так циклами.

trikadin 19.07.2011 01:25

Цитата:

Сообщение от Sweet
Цикл + цикл.

Перебрать массив не дано? Перебираем массив, сравниваем его элементы с нужным значением. Запоминаем индекс...

reslear 19.07.2011 14:22

trikadin,
ну пож дайте пример, я не понимаю как перебрать тут uCatsOut[тут] ???

ваый 19.07.2011 14:26

вам дали примеры в сообщении #4 этой темы, не надо лениться, надо только внимательно прочесть

melky 19.07.2011 15:35

... это же так сложно.

что вам помешало сделать это самому?

uCatsOut = [
['29','22','0','Текстовые Редакторы','Программы для работы с текстом','ad/29','10'],
['48','22','0','Развлечение/Издевательство','издевательство','ad/48','3']
];

a = '48', res=0;

(function search(arr){

for( var i = 0; i < arr.length; i += 1 ) 
             arr[i].constructor === Array ? search( arr[i] ) :  ~arr[ i ].indexOf( a ) && ( res += 1 );
            

})(uCatsOut);

alert(res);


и откуда вы 3 хотели получить ? там два 48 :D
не верите???
alert("uCatsOut = [['29','22','0','Текстовые Редакторы','Программы для работы с текстом','ad/29','10'],['48','22','0','Развлечение/Издевательство','издевательство','ad/48','3']];".match( /48/g).length);

reslear 19.07.2011 17:40

Спасибо melky но это не то, я в смысле получить индекс 6

['48','22','0','Развлечение/Издевательство','из-во','ad/48','3']
это ','3']];" нужно получить


Вы меня не поняли!
melky - написал условие поиска сколько вообще чисел в массиве .

а мне нужно найти в массиве число 48 и в этой строке 6-ой индекс то есть 3, ну или если а=29 то получим 10

Sweet 19.07.2011 18:23

Так! Ну-ка быстро писать [ кнутом "щелк-щелк" ]!!! Человеку же нужно!!!

reslear 19.07.2011 19:00

Sweet, я серьёзно неужели трудно помоч???

melky 19.07.2011 19:24

поставь нормально задачу сначала

reslear 19.07.2011 19:37

melky,
попробуй знаю у тебя получится

monolithed 19.07.2011 19:58

Цитата:

Сообщение от reslear
попробуй знаю у тебя получится

может в раздел работа перенести тему? ;)

trikadin 19.07.2011 20:13

reslear, не имеет смысла помогать человеку, который не может решить элементарные задачи по программированию. Совет: скачайте и почитайте Кнута любой учебник по программированию (найдите самоучитель по Паскалю, например, и прорешайте задачи оттуда).

И ваш вопрос отпадёт сам собой. Ну или вариант monolithed)

reslear 19.07.2011 22:02

я так понял что мне никто не поможет????

walik 19.07.2011 22:14

reslear,
Зачем помогать человеку который сам себе не хочет помогать ?

Ты смог только поставить задачу, а вот предпринять что то для ее решения ты не хотел. Лично от тебя не было показано ни одного куска кода где бы ты пытался что то сделать и у тебя бы не получалось.

reslear 20.07.2011 19:13

))) спасибо мне что сам разобрался тему оффф!


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