Путь к игровой площадке: Коллекция/Список/Итер
Итерационный список
Есть две общие терминологии: Массив и список
- В JavaScript и Ruby это называется массив
- В Python и Dart он называется списком
- Несмотря на разные термины, все они имеют динамическую длину – он автоматически увеличит свою длину, в отличие от массива Java или C
- В Go Array имеет фиксированный размер, но у него есть ломтик, чтобы объявить массив без указания его длины. Мы обсудим более подробную информацию в моих следующих постах.
В итерации мы можем разделить на 3 формы: только элементы, только индекс или как индекс, так и элемент тока.
- Python и DART Использование for-in первичная итерация только элемента. Руби for-in не так много используется, как метод.
- JavaScript’s for-in имеет другую цель – перечисление свойств объекта
- до-while не обсуждается ниже, так как в то время как в более распространенной форме для использования.
JavaScript
JavaScript имеет for Итерация для перечисления списка.
let numbers = [1, 2, 3]; for (const e of numbers) { console.log(e); }
Когда итерация нуждается в индексе, foreach Имеет второй аргумент для отображения индекса, обратите внимание, что он не может вырваться из цикла (с помощью разрыва), если условие выполняется, в отличие от for Анкет
numbers.forEach((e, i) => { console.log(e, i); // break; this is an illegal statement });
Универсальный для Цикл с индексом обеспечивает итерацию на основе индекса.
for (let i = 0; i < numbers.length; i++) { console.log(numbers[i], i); }
В то время как Цикл чаще используется, когда существует множество условий, хотя также можно сделать то же самое с для цикла.
let sum = 0; while (sum >= 0 && sum < 3) { sum++; } console.log(sum); //for loop alternative for while-like loop for (let sum = 0; sum >= 0 && sum < 3; ) { sum++; } console.log(sum);
Дрэк
Дарт использует for-in в список итерации.
for (var e in numbers) { print(e); }
Обычный для петля для итерации на основе индекса.
for (var i = 0; i < numbers.length; i++) { print("${numbers[i]} ${i}"); }
В то время как Цикл, более распространенный для нескольких кондиционеров.
var sum = 0; while (sum < 3) { sum++; } print(sum);
Рубин
Руби имеет for-in , но более идиомат в Ruby – синтаксис точек.
for e in numbers do p e end numbers.each { |e| p e }
Если необходим индекс, у каждого_with_index есть второй аргумент, представляющий индекс.
numbers.each_with_index {|e,i| p "#{e} #{i}"}
Метод Руби, как и другие, чаще встречается для нескольких кондиционеров.
sum = 0 while sum < 3 sum += 1 end p sum
Питон
for-in Метод – это универсальный синтаксис петли в Python. В отличие от других, которые мы видели выше, вместо того, чтобы предоставлять несколько для синтаксиса для питона, Fython For-In сохраняет постоянную форму для элемента, только для индекса или бота, только изменяя форму списка на подходящую структуру.
Без индекса мы можем использовать в его простейшей форме:
for e in [1, 2, 3]: print(e)
Метод диапазона возвращает список последовательных чисел, пропустив длину списка, рассчитанную по Лен Метод, это для петля версия Python:
for i in range(len(numbers)): print(numbers[i], i)
Для итерации как элемента, так и его индекса, перечислять Метод возвращает пару индекса и текущий элемент. Примечание в порядке – индекс – это 1 -й аргумент, а 2 -й – элемент, в отличие от метода JavaScript и Ruby ‘Index’
for i, e in enumerate(numbers): print(e, i)
Python’s В то время как Цикл, как и другие, обычно используется для нескольких кондиционеров.
sum = 0 while sum < 3: sum += 1 print(sum)
Идти
Go’s для Loop, единственная форма петли в Go, нет В то время как Loop – Сосредоточение внимания на минимальном интерфейсе – хорошо подходит для идиомы GO.
Если индекс не нужен, мы используем подчеркивание, чтобы игнорировать его. Ключевое слово диапазона при передаче списка возвращает индекс каждого элемента в списке.
for _, e := range numbers { fmt.Println(e) }
Добавляем я , чтобы включить индекс элемента.
for i, e := range numbers { fmt.Println(e, i) }
Знакомый для петля с индексом, также существует в Go.
for i := 0; i < len(numbers); i++ { fmt.Println(numbers[i]) }
GO избегает введения в цикл, если для цикла может сделать то же самое.
sum := 0 for sum < 3 { sum++ } fmt.Println(sum)
Оригинал: “https://dev.to/achristoph/polyglot-series-in-javascript-dart-ruby-python-go-iterating-list-2m3o”