javascript — Массив-как поле класса в js
Вопрос задан
Изменён 1 год 9 месяцев назад
Просмотрен 843 раза
хочу сделать массив как поле класса.
1) Пытался через конструктор(передавая ему другой массив) инициализировать элементы массива:
В итоге такая ошибка:
2) Не понял,почему возникла ошибка (из п1) и решил указать массив как поле класса:
В итоге получилась такая ошибка:
Я до этого писал на плюсах,где очень просто и легко создавать расличные private,public поля,инициализировать их в конструкторе и делать какие-то действия. Первый раз пишу на js,опыта вообще 0(просто проект для вуза нужно сделать на js)
И вообще не понимаю,что происходит,помогите пожалуйста!
P. S: писал в VsCode ,использовал расширение jshint . ES6 .
Заранее спасибо!
- javascript
3
Дело в том, что в Js поля класса объявляются в конструкторе. Да, это смотрится странно, но это так. В итоге надо его вначале объявить, а потом пользоваться, если нужно
class Player { constructor(initArray) { this.array = []; // <--- вот это прокатит for (let i = 0; i < initArray.length; ++i) { this.array[i] = initArray[i]; } } }
Поэтому возникла как и первая так и вторая ошибка. Первая — потому что свойство не было объявлено в конструкторе. Вторая — потому что так писать свойства классов нельзя. Но можно в виде геттеров и сеттеров (properties must be methods)
10
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Объявление массива через квадратные скобки [] — efim360.
ruЧтобы объявить массив нулевой длины через квадратные скобки, нужно последовательно напечатать два знака с клавиатуры:
Первый знак [ (символизирующий начало объявления массива) — это квадратная скобка с горизонтальными отрезками, направленными направо.
Второй знак ] (символизирующий окончание объявления массива) — это квадратная скобка с горизонтальными отрезками, направленными налево.
Оба знака квадратных скобок должны визуально стремиться «замкнуть» друг друга, как бы образуя квадрат/прямоугольник. Так в языке JavaScript определяется массив нулевой длины.
[]
Если в теле программы оставить массив в таком виде, то к нему нельзя будет обратиться т. к. он будет анонимным и под него не выделятся ячейки оперативной памяти. Когда программа будет выполняться она просто посмотрит на такую запись и пойдёт дальше. Чтобы иметь возможность сохранять информацию о массивах, их нужно помещать в переменные.
Чтобы объявить полный массив через квадратные скобки, нужно:
1. Последовательно напечатать два знака скобок.
2. Внутрь квадратных скобок нужно поместить все значения элементов будущего массива и отделить их друг от друга запятыми.
В полном массиве количество запятых всегда меньше количества самих элементов на 1.
Запятые НЕ СТАВЯТСЯ перед первым элементом массива и после последнего элемента.
Запятые НЕ СТАВЯТСЯ после первой квадратной скобки и перед последней квадратной скобкой.
Элементы массива оформляются согласно стандарту оформления типов данных (числа и булевы значения без доп знаков, строки — в кавычках)
Видео инструкция
В этом видео приводится пример создания массива JavaScript при помощи квадратных скобок. Ввод команд осуществляется в консоль браузера Google Chrome. Результат виден сразу.
Примеры
Объявление анонимного массива нулевой длины (без присваивания переменной)
[]
Это массив нулевой длины — у него нет индексов, нет значений, нет имени и его длина 0 (ноль). Такую запись удобно добавлять к вызовам некоторых методов прототипов Array.
Объявление анонимного массива (без присваивания переменной)
[123, 234, 345]
Это полный массив — каждый индекс массива хранит своё значение. У этого массива есть индексы, есть длина, есть значения, но нет имени. К такому массиву нельзя обратиться т. к. под него не выделена переменная и над ним не выполняются какие-либо операции. В таком виде, в теле программы он бесполезен. Такую запись удобно добавлять к вызовам некоторых методов прототипов Array.
Объявление именованного массива нулевой длины (с присваиванием переменной)
var massiv = []
У этого массива есть имя — massiv. Этот массив занимает оперативную память на устройстве клиента. У массива massiv нет индексов, нет значений, и его длина 0 (ноль). К этому массиву можно обратиться в теле программы по его имени — massiv.
Объявление именованного массива (с присваиванием переменной)
var massiv1 = [123, 234, 345]
У этого массива есть имя — massiv1. Этот массив занимает оперативную память на устройстве клиента. У массива massiv1 есть индексы, есть значения, и его длина 3 (три). К этому массиву можно обратиться в теле программы по его имени — massiv1.
Объявление массива из числовых данных
var massiv02 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] var massiv03 = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
Объявление массива из строковых данных
var massiv04 = ['а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я'] var massiv10 = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье']
Объявление массива из логических данных
var massiv08 = [true, false, false, true]
Объявление массива из массивов
var massiv081 = [[], [], [], []] var massiv082 = [[1], [2], [3], [4]] var massiv083 = [[1, 101], [2, 202], [3, 303], [4, 404]]
Объявление массива из объектов
var massiv11 = [{a: 'a1'}, {b: 'b1'}]
Объявление массива с одним элементом (длина 1)
var massiv32 = [1]
Объявление пустого массива (длина 1)
var massiv30 = [,]
ВНИМАНИЕ! Длина этого массива равна 1 (один), хотя на первый взгляд логично предположить, что длина должна равняться 2. Хочется думать, что запятая разделяет два элемента массива без значений. Но в данном конкретном случае это не так.
Объявление пустого массива (длина 3)
var massiv31 = [,,,]
ВНИМАНИЕ! Длина этого массива равна 3 (один), хотя на первый взгляд логично предположить, что длина должна равняться 4. Хочется думать, что запятые разделяют четыре элемента массива без значений. Но в данном конкретном случае это не так.
Ссылки
JavaScript | Массивы (Array)
ECMAScript — Living Standard — https://tc39.es/ecma262/#sec-array-objects
Разница между [] и {} — массив и объект в JavaScript
Концептуально все в JavaScript является объектом, что означает, что он имеет свойства и методы. Несколько примеров объектов — это переменные, списки, массивы и т. д. Однако есть несколько исключений, например, undefined .
Мы можем использовать «Консоль разработчика» или «Инструменты разработчика» в Mozilla Firefox или Google Chrome, чтобы удобнее распечатать любой объект или массив и изучить детали.
Вы также можете использовать object.getOwnPropertyNames(), чтобы получить список всех имен свойств объектов, или использовать object.hasOwnProperty(«имя свойства»), чтобы увидеть, доступно ли конкретное свойство или нет.
Итак, что означает {} в JavaScript?
В JavaScript мы используем фигурные скобки {} для создания пустого объекта. Вы можете рассматривать это как основу для других типов объектов. Объект предоставляет последнее звено в цепочке прототипов, которое может использоваться всеми другими объектами, такими как массив.
var obj_name = {};
var obj_name = {}; |
Что означает [] в JavaScript?
Мы используем скобки [] для создания пустого массива, который представляет собой структуру данных, используемую для хранения набора значений. Это похоже на объект, но это уникальная структура данных, содержащая более одного значения одновременно.
var имя_массива = [];
var имя_массива = []; |
Если мы сравним вывод, показанный в консоли разработчика для объявления переменных {} и [], мы легко заметим разницу, т. е.
Итак, короче говоря, вы можете используйте скобки {} для объявления одного объекта, тогда как скобки [] используйте для создания массива/списка элементов.
Разница между объектом JavaScript и массивомСледующий код JavaScript демонстрирует использование квадратных скобок [] и фигурных скобок {} для создания массива или объекта.
// Массив const обр = [1, 2, 3]; // Объект const obj = {имя: ‘Джон’, возраст: 30};
// Массив const arr = [1, 2, 3];
// Объект const obj = { name: ‘John’, age: 30 }; |
Аналогичная концепция используется в JSON для объявления таких объектов или массивов, как:
{«имя»:»Смит», «пол»:»мужской», «местоположение»:»CA»}
Создаст объект; однако следующее создаст массив элементов.
[{«имя»:»Смит», «пол»:»мужской», «местоположение»:»CA»}]
[{«имя»:»Смит», «пол»: «мужчина», «местоположение»:»CA»}] |
Вы можете использовать любую фигурную скобку {} или [] для объявления пустого массива. Однако вы можете использовать квадратные скобки с объектами JavaScript.
Каталожные номера:
- StackOverflow
- Список объектов JavaScript
- Цепочка прототипов
Как объявить массив в Python
В этой статье мы узнаем о массивах и о том, как объявлять массивы в Python . Мы также будем использовать некоторые пользовательские коды, чтобы понять массивы. Давайте сначала кратко рассмотрим, что такое массив в Python.
Примечание. Массив не существует как встроенная структура данных в Python. Python использует тип списка вместо массива.
Что такое массив
Массив похож на контейнеры для хранения, в которых хранится несколько элементов одного типа.
Пример массива
массив1 = [0, 0, 0, 1, 2] array2 = ["шапка", "летучая мышь", "крыса"]
Давайте рассмотрим различные способы объявления массивов в Python. Мы будем использовать простые подходы, модуль массива, поддерживаемый Python, модуль NumPy, а также прямой метод для инициализации массива.
Объявление массива с помощью модуля массива
Массив не существует как встроенная структура данных в Python. Однако Python предоставляет модуль массива
для объявления набора данных в виде массива.
Синтаксис
имя_массива = массив (код типа, [инициализаторы])
Параметры
typecode
— коды, используемые для определения типа значения, которое будет храниться в массиве.
Инициализаторы
— набор однотипных данных
Пример: создание массива с использованием модуля массива
В приведенном ниже примере импортируется модуль массива Python. Он объявляет массив набора целых чисел со знаком и печатает элементы.
из импорта массива * массив1 = массив('i', [10,20,30,40,50]) для х в массиве1: напечатать (х)
10
20
30
40
50
Пример: создание массива, подобного списку, в Python
Здесь мы объявляем пустой массив. Функция Python for loop
и range()
используется для инициализации массива значением по умолчанию. Вы можете запутаться между списками и массивами, но списки — это динамические массивы. Кроме того, в массивах хранятся данные аналогичного типа, а в списках хранятся разные типы данных.
В приведенном ниже примере есть пустой массив. Он инициализируется пятью элементами, имеющими значение по умолчанию (0).