beautify 1st part of the tutorial
This commit is contained in:
parent
e3dd2cedc0
commit
6444024a9d
327 changed files with 2358 additions and 1986 deletions
|
@ -30,9 +30,9 @@ var fruits = ["Яблоко", "Апельсин", "Слива"];
|
|||
//+ run
|
||||
var fruits = ["Яблоко", "Апельсин", "Слива"];
|
||||
|
||||
alert(fruits[0]); // Яблоко
|
||||
alert(fruits[1]); // Апельсин
|
||||
alert(fruits[2]); // Слива
|
||||
alert( fruits[0] ); // Яблоко
|
||||
alert( fruits[1] ); // Апельсин
|
||||
alert( fruits[2] ); // Слива
|
||||
```
|
||||
|
||||
Элемент можно всегда заменить:
|
||||
|
@ -51,9 +51,9 @@ fruits[3] = 'Лимон'; // теперь ["Яблоко", "Апельсин", "
|
|||
|
||||
```js
|
||||
//+ run
|
||||
var fruits = ["Яблоко", "Апельсин", "Груша"];
|
||||
var fruits = ["Яблоко", "Апельсин", "Груша"];
|
||||
|
||||
alert(fruits.length); // 3
|
||||
alert( fruits.length ); // 3
|
||||
```
|
||||
|
||||
**Через `alert` можно вывести и массив целиком.**
|
||||
|
@ -62,9 +62,9 @@ alert(fruits.length); // 3
|
|||
|
||||
```js
|
||||
//+ run
|
||||
var fruits = ["Яблоко", "Апельсин", "Груша"];
|
||||
var fruits = ["Яблоко", "Апельсин", "Груша"];
|
||||
|
||||
alert(fruits); // Яблоко,Апельсин,Груша
|
||||
alert( fruits ); // Яблоко,Апельсин,Груша
|
||||
```
|
||||
|
||||
**В массиве может храниться любое число элементов любого типа.**
|
||||
|
@ -72,7 +72,7 @@ alert(fruits); // Яблоко,Апельсин,Груша
|
|||
В том числе, строки, числа, объекты, вот например:
|
||||
|
||||
```js
|
||||
//+ run
|
||||
//+ run no-beautify
|
||||
// микс значений
|
||||
var arr = [ 1, 'Имя', { name: 'Петя' }, true ];
|
||||
|
||||
|
@ -108,7 +108,7 @@ var fruits = ["Яблоко", "Апельсин", "Груша"];
|
|||
|
||||
alert( fruits.pop() ); // удалили "Груша"
|
||||
|
||||
alert(fruits); // Яблоко, Апельсин
|
||||
alert( fruits ); // Яблоко, Апельсин
|
||||
```
|
||||
|
||||
</dd>
|
||||
|
@ -121,7 +121,7 @@ var fruits = ["Яблоко", "Апельсин"];
|
|||
|
||||
fruits.push("Груша");
|
||||
|
||||
alert(fruits); // Яблоко, Апельсин, Груша
|
||||
alert( fruits ); // Яблоко, Апельсин, Груша
|
||||
```
|
||||
|
||||
Является полным аналогом `fruits[fruits.length] = ...`.
|
||||
|
@ -139,7 +139,7 @@ var fruits = ["Яблоко", "Апельсин", "Груша"];
|
|||
|
||||
alert( fruits.shift() ); // удалили Яблоко
|
||||
|
||||
alert(fruits); // Апельсин, Груша
|
||||
alert( fruits ); // Апельсин, Груша
|
||||
```
|
||||
|
||||
</dd>
|
||||
|
@ -151,7 +151,7 @@ var fruits = ["Апельсин", "Груша"];
|
|||
|
||||
fruits.unshift('Яблоко');
|
||||
|
||||
alert(fruits); // Яблоко, Апельсин, Груша
|
||||
alert( fruits ); // Яблоко, Апельсин, Груша
|
||||
```
|
||||
|
||||
</dd>
|
||||
|
@ -167,7 +167,7 @@ fruits.push("Апельсин", "Персик");
|
|||
fruits.unshift("Ананас", "Лимон");
|
||||
|
||||
// результат: ["Ананас", "Лимон", "Яблоко", "Апельсин", "Персик"]
|
||||
alert(fruits);
|
||||
alert( fruits );
|
||||
```
|
||||
|
||||
## Внутреннее устройство массива
|
||||
|
@ -184,10 +184,10 @@ function eat(arr) {
|
|||
|
||||
var arr = ["нам", "не", "страшен", "серый", "волк"]
|
||||
|
||||
alert(arr.length); // 5
|
||||
alert( arr.length ); // 5
|
||||
eat(arr);
|
||||
eat(arr);
|
||||
alert(arr.length); // 3, в функцию массив не скопирован, а передана ссылка
|
||||
alert( arr.length ); // 3, в функцию массив не скопирован, а передана ссылка
|
||||
```
|
||||
|
||||
**Ещё одно следствие -- можно присваивать в массив любые свойства.**
|
||||
|
@ -215,7 +215,7 @@ var a = [];
|
|||
a[0] = 0;
|
||||
a[5] = 5;
|
||||
|
||||
alert(a); // 0,,,,,5
|
||||
alert( a ); // 0,,,,,5
|
||||
```
|
||||
|
||||
Эти запятые появляются потому, что алгоритм вывода массива идёт от `0` до `arr.length` и выводит всё через запятую. Отсутствие значений даёт несколько запятых подряд.
|
||||
|
@ -254,7 +254,7 @@ fruits.shift(); // убрать 1 элемент с начала
|
|||
Действия при операции:
|
||||
|
||||
```js
|
||||
fruits.pop(); // убрать 1 элемент с конца
|
||||
fruits.pop(); // убрать 1 элемент с конца
|
||||
```
|
||||
|
||||
<img src="array-pop.svg">
|
||||
|
@ -273,7 +273,7 @@ fruits.pop(); // убрать 1 элемент с конца
|
|||
var arr = ["Яблоко", "Апельсин", "Груша"];
|
||||
|
||||
*!*
|
||||
for (var i=0; i<arr.length; i++) {
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
alert( arr[i] );
|
||||
}
|
||||
*/!*
|
||||
|
@ -339,13 +339,13 @@ alert(arr.length); // *!*1001*/!*
|
|||
|
||||
```js
|
||||
//+ run
|
||||
var arr = [1, 2, 3, 4, 5];
|
||||
var arr = [1, 2, 3, 4, 5];
|
||||
|
||||
arr.length = 2; // укоротить до 2 элементов
|
||||
alert(arr); // [1, 2]
|
||||
alert( arr ); // [1, 2]
|
||||
|
||||
arr.length = 5; // вернуть length обратно, как было
|
||||
alert(arr[3]); // undefined: значения не вернулись
|
||||
alert( arr[3] ); // undefined: значения не вернулись
|
||||
```
|
||||
|
||||
Самый простой способ очистить массив -- это `arr.length=0`.
|
||||
|
@ -367,12 +367,12 @@ var arr = *!*new Array*/!*("Яблоко", "Груша", "и т.п.");
|
|||
|
||||
```js
|
||||
//+ run
|
||||
var arr = new Array(2, 3);
|
||||
alert(arr[0]); // 2, создан массив [2, 3], всё ок
|
||||
var arr = new Array(2, 3);
|
||||
alert( arr[0] ); // 2, создан массив [2, 3], всё ок
|
||||
|
||||
*!*
|
||||
arr = new Array(2); // создаст массив [2] ?
|
||||
alert(arr[0]); // undefined! у нас массив без элементов, длины 2
|
||||
alert( arr[0] ); // undefined! у нас массив без элементов, длины 2
|
||||
*/!*
|
||||
```
|
||||
|
||||
|
@ -394,7 +394,7 @@ var matrix = [
|
|||
[7, 8, 9]
|
||||
];
|
||||
|
||||
alert(matrix[1][1]); // центральный элемент
|
||||
alert( matrix[1][1] ); // центральный элемент
|
||||
```
|
||||
|
||||
## Внутреннее представление массивов
|
||||
|
@ -428,10 +428,10 @@ alert(matrix[1][1]); // центральный элемент
|
|||
|
||||
```js
|
||||
// предпочтительное
|
||||
var arr = [ элемент1, элемент2... ];
|
||||
var arr = [элемент1, элемент2...];
|
||||
|
||||
// new Array
|
||||
var arr = new Array( элемент1, элемент2...);
|
||||
var arr = new Array(элемент1, элемент2...);
|
||||
```
|
||||
|
||||
При этом `new Array(число)` создаёт массив заданной длины, *без элементов*. Чтобы избежать ошибок, предпочтителен первый синтаксис.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue