Рубрики
Без рубрики

Серия Polyglot в JavaScript, Dart, Ruby, Python, Go: Итерационный список

Playground Path: Collection/List/IterTerating List Есть два общих термина … Tagged с JavaScript, Dart, Ruby, Python.

Путь к игровой площадке: Коллекция/Список/Итер

Итерационный список

Есть две общие терминологии: Массив и список

  • В 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”