Hekumok,
<script type="text/javascript"> var Arr_1 = [2, 'crack', 'find', 2]; function Find_El_Array ( arr, val ) { var array_OUT = []; for(var i in arr) {if (val == arr[i]) array_OUT.push(i);} if(array_OUT.length) return array_OUT; return -1; } alert( Find_El_Array (Arr_1, 2) ) alert( Find_El_Array (Arr_1, 1) ) </script> |
Deff, попробовал ваш скрипт, вставив -1 вместо false, вывело почему-то три нуля:
var massive = [2, 'crack', 'find', 2] ; var mass = [5, 'al', 1] ; function find(arr, val) { for (var i in arr) { if (value = arr[i]) return i ;} return -1 ; } ; alert(find(massive, 2)) ; alert(find(mass, 'al')) ; alert(find(mass, 2)) ; alert(find(massive, 'al')) ; |
Deff, нет, на выходе массив не нужен...нужно просто, чтобы через alert вывело номер значение, если есть совпадение, если 2 совпадения, то должно быть 2 алерта с номерами, а если нет совпадений, то должно вывести -1
|
Hekumok,
Три 0 занчит три элемента первых в списке - Первый элемент 0 -номер массивы начинаются с 0 |
Цитата:
к примеру 1, 2, 3 (Совпали ---------------------- можно сделать строку цифр через запятую, но тогда вам придется цифры вычленять из строки в так перебираете массив ответных совпадений в цикле |
Deff, да я знаю, что с нуля элементы начинаются, но с такими массивами
var massive = [2, 'crack', 'find', 2] ; var mass = [5, 'al', 1] ; должно было вывести alert(find(massive, 2)) ; // 0, 3 alert(find(mass, 'al')) ; // 1 alert(find(mass, 2)) ; // -1 alert(find(massive, 'al')) ; // -1 |
Hekumok,
Первый код был расчитан на одно совпадение(У Всех) - подставляйте во второй Короткие имена типа Find - лучше не делать - подобные операторы часто есть в библиотеках |
Deff, лучше бы конечно, чтобы через "алерт" выводило каждое совпадение, но можно и как вы предложили с новым массивом
|
Цитата:
|
Hekumok,
Пост 12 |
Часовой пояс GMT +3, время: 15:05. |