The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Утверждён стандарт ECMAScript 8 (2017) , opennews (??), 12-Июл-17, (0) [смотреть все] –1

Сообщения [Сортировка по времени | RSS]


20. "Утверждён стандарт ECMAScript 8 (2017) "  –1 +/
Сообщение от Я (??), 12-Июл-17, 13:45 
я хочу объявить массив из 4-х элементов, последний из которых пустой и напишу:
var arr = [1, 2, 3,];

я хочу объявить массив из 3-х элементов, но лень удалять последнюю запятую, напишу:
var arr = [1, 2, 3,];

и в чём тут красота? бред полнейший.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

24. "Утверждён стандарт ECMAScript 8 (2017) "  +1 +/
Сообщение от анонимус (??), 12-Июл-17, 14:20 
я хочу объявить массив из 4-х элементов, последний из которых пустой и напишу:
var arr = [1, 2, 3,,];
я хочу объявить массив из 3-х элементов, но лень удалять последнюю запятую, напишу:
var arr = [1, 2, 3,];

поправил, не благодари helloword-anykey.

Ответить | Правка | Наверх | Cообщить модератору

39. "Утверждён стандарт ECMAScript 8 (2017) "  –1 +/
Сообщение от _ (??), 12-Июл-17, 16:42 
Ну не красиво же!
А как известно: "Некрасивые самолёты и летают плохо!" (С) приписывают Туполеву.
Ответить | Правка | Наверх | Cообщить модератору

25. "Утверждён стандарт ECMAScript 8 (2017) "  +/
Сообщение от Аноним (-), 12-Июл-17, 14:20 
*показывает листок с от руки написанным "Сарказм"*
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

28. "Утверждён стандарт ECMAScript 8 (2017) "  +1 +/
Сообщение от rshadow (ok), 12-Июл-17, 14:36 
Что значит пустой. Такое разве есть в JS?

var arr = [1, 2, 3, undefined];
var arr = [1, 2, 3, null];
var arr = [1, 2, 3, ''];

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

48. "Утверждён стандарт ECMAScript 8 (2017) "  +/
Сообщение от Аноним (-), 12-Июл-17, 18:58 
Открой консоль и проверь.
Ответить | Правка | Наверх | Cообщить модератору

60. "Утверждён стандарт ECMAScript 8 (2017) "  +/
Сообщение от Аноним (-), 12-Июл-17, 23:27 
У него будет не пустой, а разрежённый. Это не тоже самое, что undefined в ячейке.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

67. "Утверждён стандарт ECMAScript 8 (2017) "  –1 +/
Сообщение от rpm (?), 13-Июл-17, 02:49 
> Что значит пустой. Такое разве есть в JS?
> var arr = [1, 2, 3, undefined];
> var arr = [1, 2, 3, null];
> var arr = [1, 2, 3, ''];

Массивы в жс фальшивые. На самом деле это хеши.

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

37. "Утверждён стандарт ECMAScript 8 (2017) "  +1 +/
Сообщение от Аноним Анонимович Анонимов (?), 12-Июл-17, 16:33 
Попробую объяснить. Создание, заполнение массива на лету и инициализация массива это разные вещи. Одно дело, когда вы знаете, что у вас в массиве и поэтому инициализируете его с заданным количеством элементов, другое дело когда формируете массив на лету.

Вам ничто не мешает написать:

  var arr = new Array(5) //создаст массив из 5 пустых элементов

для инициализации массива этого достаточно. Оператор [] актуален, когда, например, в цикле формируется динамическй массив.


var temp_arr = [];

for ( var i = 0; i < Math.floor( Math.random() * 1000 ); i++)
{
  temp_arr.push(i);
}

Разница между new Array() и [] существенна только в контексте использования. Ну и инициализация массива с заданным количество элементов невозможна в [].

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

62. "Утверждён стандарт ECMAScript 8 (2017) "  –1 +/
Сообщение от Аноним (-), 12-Июл-17, 23:28 
>создаст массив из 5 пустых элементов

Создаст разряженный массив (а не пустой). Учите уже матчасть. Тот же Array.foreach не будет его перебирать.

Ответить | Правка | Наверх | Cообщить модератору

70. "Утверждён стандарт ECMAScript 8 (2017) "  +1 +/
Сообщение от Аноним Анонимович Анонимов (?), 13-Июл-17, 08:51 
Во-первых, я-то матчасть, в отличии от вас, знаю на должном уровне. Если бы это был разряжённый массив, то я так и написал бы.

Во-вторых, читайте уже стандарт ECMA Script.

https://learn.javascript.ru/array#new-array-2
https://developer.mozilla.org/ru/docs/Web/JavaScript/Referen...
http://www.ecma-international.org/ecma-262/8.0/index.html#se...
http://es5.javascript.ru/x15.4.html#x15.4.2

Ответить | Правка | Наверх | Cообщить модератору

85. "Утверждён стандарт ECMAScript 8 (2017) "  +/
Сообщение от Аноним (-), 13-Июл-17, 19:33 
new Array(3).forEach(function (a) { console.log(a); });
Что мы увидим в консоле? Ничего. Массив то разряженный.
----------------------------------------------------------------------
new Array(3).fill(1).forEach(function (a) { console.log(a); });
Что мы увидим в консоле? Три вывода в консоль числа 1.
----------------------------------------------------------------------
[,,].forEach(function (a) { console.log(a); });
Что мы увидим в консоле? Ничего. Массив то разряженный.
----------------------------------------------------------------------
[,,].fill(2).forEach(function (a) { console.log(a); });
Что мы увидим в консоле? Три вывода в консоль числа 2.
----------------------------------------------------------------------

В общем, иди учить матчасть, хотя по ссылка, что ты сам же дал. Там все есть.

Ответить | Правка | Наверх | Cообщить модератору

90. "Утверждён стандарт ECMAScript 8 (2017) "  –1 +/
Сообщение от Аноним Анонимович Анонимов (?), 14-Июл-17, 09:20 
Прежде чем мне тыкать, сходи сам для начала хотя бы на википедию:

https://en.wikipedia.org/wiki/Sparse_matrix

>In numerical analysis and computer science, a sparse matrix or sparse array is a matrix in which most of the elements are zero. By contrast, if most of the elements are nonzero, then the matrix is considered dense.
>Разрежённый масси́в — абстрактное представление обычного массива, в котором данные представлены не непрерывно, а фрагментарно; большинство элементов его принимают одно и то же значение (значение по умолчанию, обычно 0 или null).

**************************************

Sparse array в JS это массив с holes

var sparse = [,,3] //sparse array
var dense = [undefined, undefined, 3] //dense array

sparse === dense //false

0 in sparse //false

sparse[0] === 0 //false

0 in dense //true

**************************************

var sparse = [];
var dense = new Array();

sparse === dense //false

Ответить | Правка | Наверх | Cообщить модератору

94. "Утверждён стандарт ECMAScript 8 (2017) "  +/
Сообщение от Этонея (?), 17-Июл-17, 12:36 
foreach их не перебирает, но при явном обращении
console.log( new Array(3)[0])
будет
undefined

В общем-то это можно отнести к граблям JS. Zpsr dct ,jkmit cnfyjdbncz 'pjnthbtcrbv/

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру