Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Продвижение сайтов.
 Аватар для Aleksey24
-7 / 3 / 0
Регистрация: 16.10.2013
Сообщений: 154

Разъясните простой скрипт

24.07.2014, 15:57. Показов 918. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот есть скрипт простой который принимает массив строк как один аргу-
мент и возвращающая самую длинную из них.
JavaScript
1
2
3
4
5
6
7
8
9
10
strings=["odin","dva","tri"]
longestWord( strings ) {
var longest = strings[0];
for( i = 1; i < strings.length; i++ ) {
if ( strings[i].length > longest.length ) {
longest = strings[i];
}
}
return longest;
}
Мне непонятно что делает команда strings[i].length и ongest.length (тоже самое как strings[0].length)
Вот я знаю что команда ленс, проверяет макс. длину массива и пишется обычно так - masiv.length. А тут получается strings[i].length - че это вообще такое? Я как понял берется отдельный i-тый элемент масива и узнается его длина. А как может у него узнаваться длина если он и так один элемент, не понятно вообщем что делает эта команда. Объясните пожалуйста по подробней и просто что она делает.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.07.2014, 15:57
Ответы с готовыми решениями:

Простой скрипт
Доброго времени суток! Вот всеми известный сайт http://www.donothingfor2minutes.com/ , так мне вот нужен скрипт который тоже после двух...

Подскажите простой скрипт
Всем привет. Наверное уже есть гениально простое решение такой вот задачи: Есть input поиска. Нужно чтобы placeholder стоящий там был...

Написать простой скрипт
Доброго дня Форумчан, кому не сложно помочь мне написать вот такой простой скрипт. Напишіть JavaScript вирази для виконання кожного...

8
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
24.07.2014, 17:08
Aleksey24, может лучше стоит прочитать сначала что такое массив?
Массив - это некая коллекция элементов упорядоченных по ключу ( в данном случае числовой ключ ) , свойство length отвечает за количество этих элементов.
Допустим:
JavaScript
1
2
var arr = [1,2,3,4,5];
arr.length // =5
Можно обратиться к любому элементу зная его номер в массиве, нумерация начинается с нуля, и по порядку 1,2,3,4 и т.д.

JavaScript
1
2
3
var arr = [0,1,2,3,4,5];
arr[0] // = 0;
arr[3] // = 3
В твоем коде использует цикл, что бы перебрать все элементы массива, переменная i отвечает за номер индекса в массиве, у строк так же есть свойство length, которое отвечает за количество символов в строке
В данном случае strings[i].length = это количество символов в строке, которая находиться в массиве под номером i
1
Продвижение сайтов.
 Аватар для Aleksey24
-7 / 3 / 0
Регистрация: 16.10.2013
Сообщений: 154
24.07.2014, 18:17  [ТС]
В данном случае strings[i].length = это количество символов в строке, которая находиться в массиве под номером i
Теперь понятно все, спасибо!

Добавлено через 30 минут
Возник еще вопрос, вот код чуть измененный.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
function longestWord() {
    strings=["dda","daddfsfsa","dadda","daddafsafs"]
 
var longest = strings[0];
for( i = 1; i < strings.length; i++ ) {
if ( strings[i].length > longest.length ) {
longest = strings[i];
}
}
document.write(longest);
}
Вот сравниваются длины строк
strings[i].length > longest.length
Получается что сравниваются все длины строк у элементов массива с нулевым элементом массива у которого длина 3 символа.
В итоге получается что элементы с индексом 1,2,3 длинее ведь первого (0) элемента.
Так почему тогда в конце выводится слово "daddfsfsa". Ведь остальные же тоже длинее первого элемента, с чего вдруг именно это вывелось?
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
24.07.2014, 19:29
Aleksey24, идет сравнение, сначала переменная longest ( самый длинный элемент ) равна нулевому элементу [0], далее мы сравниваем 1 элемент с нулевым, если первый больше нулевого, то мы присваиваем longest значение ( длину ) первого элемента, если же нет, то пропускаем и сравниваем второй с longest и так далее до конца
0
Продвижение сайтов.
 Аватар для Aleksey24
-7 / 3 / 0
Регистрация: 16.10.2013
Сообщений: 154
25.07.2014, 06:56  [ТС]
А почему longest самый длинный элемент? Там всего 3 символа, получается самый короткий.
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 07:36
Aleksey24, ну ,во-первых, название переменной как бы намекает на это.
Во-вторых, там же в самом алгоритме сравнивается i-ный элемент и longest, и если длина первого больше, то longest присваивается этот элемент. Так что это должен быть самый длинный
0
Продвижение сайтов.
 Аватар для Aleksey24
-7 / 3 / 0
Регистрация: 16.10.2013
Сообщений: 154
25.07.2014, 11:13  [ТС]
А ну так да, это если присвоится. А изначально у нее длина 3 символа (самая короткая).
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 11:18
Aleksey24, изначально длина равна длине первого элемента в массиве. Просто в данном случае длина его равна 3-м ( и он самый маленький )
1
Продвижение сайтов.
 Аватар для Aleksey24
-7 / 3 / 0
Регистрация: 16.10.2013
Сообщений: 154
25.07.2014, 12:17  [ТС]
да так и есть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.07.2014, 12:17
Помогаю со студенческими работами здесь

Написать простой Скрипт
Пожалуйста, помогите написать JavaScript Если ячейка C5 заполнена, то данный текст из ячейки C5, отображать в ячейке C4. Нужен именно...

Простой скрипт
Изучаю JQUERY. Что-то понять не могу как сделать. Задача самоучителя: Есть таблица - &lt;tbody&gt; ...

Не работает простой скрипт
День добрый! Не могу разобраться казалось бы в простом случае: &lt;script type=&quot;text/javascript&quot;&gt; ...

Не работает простой скрипт
Привет. Не работает простой скрипт. Вот ссылка А именно не работает вторая функция. $(function () { ...

Простой скрипт jQuery
Здравствуйте! Я впервые на вашем форуме и хочу сперва выразить свою благодарность создателям форума. Хочу извиниться на транслит, я не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru