Array.prototype.filter()

Array.every()

The method check if all array values pass a test.


This example check if all array values are larger than 18:

Example

var numbers = ;var allOver18 = numbers.every(myFunction);function myFunction(value, index, array) {   return value > 18;}

Note that the function takes 3 arguments:

  • The item value
  • The item index
  • The array itself

When a callback function uses the first parameter only (value), the other parameters can be omitted:

Example

var numbers = ;var allOver18 = numbers.every(myFunction);function myFunction(value) {  return value > 18;}

is supported in all browsers except Internet Explorer 8 or earlier.

Yes 9.0 Yes Yes Yes

Сумісність з веб-переглядачами

The compatibility table in this page is generated from structured data. If you’d like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

Update compatibility data on GitHub

Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
Chrome Full support 1 Edge Full support 12 Firefox Full support 1 IE Full support 4 Opera Full support 4 Safari Full support 1 WebView Android Full support 1 Chrome Android Full support 18 Firefox Android Full support 4 Opera Android Full support 10.1 Safari iOS Full support 1 Samsung Internet Android Full support 1.0 nodejs Full support 0.1.100

Синтаксис

Параметри

Індекс елемента, з якого розпочнеться зміна масиву. Якщо індекс більший за розмір масиву, буде рівним довжині масиву. Якщо індекс від’ємний, позначатиме кількість елементів з кінця масиву (починаючи з -1, тобто -n означатиме індекс n-го елемента з кінця, і таким чином є еквівалентом ). Якщо абсолютна величина є більшою за довжину масиву, зміни почнуться з індексу 0.
Optional
Число, що вказує на кількість елементів масиву, які необхідно видалити, починаючи з індексу .
Якщо аргумент  не заданий, або його значення більше чи дорівнює  (тобто, більше чи дорівнює кількості елементів, які залишились у масиві, починаючи зі ), тоді будуть видалені всі елементи, починаючи зі і до кінця масиву.
Якщо рівний 0 або від’ємний, жоден елемент не буде видалений. У цьому випадку необхідно вказати хоча б один новий елемент для вставки (див. нижче).
Optional
Елементи, що будуть додані до масиву, починаючи з індексу . Якщо не вказати жодного нового елемента,  лише видалить елементи з масиву.

Значення, що повертається

Масив видалених елементів. Якщо видалено лише один елемент, метод поверне масив з одним елементом. Якщо жоден з елементів не видалявся, метод повертає пустий масив.

Array.map()

The method creates a new array by performing a function on each array element.

The method does not execute the function for array elements without values.

The method does not change the original array.

This example multiplies each array value by 2:

Example

var numbers1 = ; var numbers2 = numbers1.map(myFunction); function myFunction(value, index, array) {   return value * 2; }

Note that the function takes 3 arguments:

  • The item value
  • The item index
  • The array itself

When a callback function uses only the value parameter, the index and array parameters can be omitted:

Example

var numbers1 = ; var numbers2 = numbers1.map(myFunction); function myFunction(value) {   return value * 2; }

is supported in all browsers except Internet Explorer 8 or earlier.

Yes 9.0 Yes Yes Yes

Поиск в массиве

Далее рассмотрим методы, которые помогут найти что-нибудь в массиве.

Методы arr.indexOf, arr.lastIndexOf и arr.includes имеют одинаковый синтаксис и делают по сути то же самое, что и их строковые аналоги, но работают с элементами вместо символов:

  • ищет , начиная с индекса , и возвращает индекс, на котором был найден искомый элемент, в противном случае .
  • – то же самое, но ищет справа налево.
  • – ищет , начиная с индекса , и возвращает , если поиск успешен.

Например:

Обратите внимание, что методы используют строгое сравнение. Таким образом, если мы ищем , он находит именно , а не ноль

Если мы хотим проверить наличие элемента, и нет необходимости знать его точный индекс, тогда предпочтительным является .

Кроме того, очень незначительным отличием является то, что он правильно обрабатывает в отличие от :


Представьте, что у нас есть массив объектов. Как нам найти объект с определённым условием?

Здесь пригодится метод arr.find.

Его синтаксис таков:

Функция вызывается по очереди для каждого элемента массива:

  • – очередной элемент.
  • – его индекс.
  • – сам массив.

Если функция возвращает , поиск прерывается и возвращается . Если ничего не найдено, возвращается .

Например, у нас есть массив пользователей, каждый из которых имеет поля и . Попробуем найти того, кто с :

В реальной жизни массивы объектов – обычное дело, поэтому метод крайне полезен.

Обратите внимание, что в данном примере мы передаём функцию , с одним аргументом. Это типично, дополнительные аргументы этой функции используются редко

Метод arr.findIndex – по сути, то же самое, но возвращает индекс, на котором был найден элемент, а не сам элемент, и , если ничего не найдено.

Метод ищет один (первый попавшийся) элемент, на котором функция-колбэк вернёт .

На тот случай, если найденных элементов может быть много, предусмотрен метод arr.filter(fn).

Синтаксис этого метода схож с , но возвращает массив из всех подходящих элементов:

Например:

JavaScript

JS Array concat() constructor copyWithin() entries() every() fill() filter() find() findIndex() forEach() from() includes() indexOf() isArray() join() keys() length lastIndexOf() map() pop() prototype push() reduce() reduceRight() reverse() shift() slice() some() sort() splice() toString() unshift() valueOf()

JS Boolean constructor prototype toString() valueOf()

JS Classes constructor() extends static super

JS Date constructor getDate() getDay() getFullYear() getHours() getMilliseconds() getMinutes() getMonth() getSeconds() getTime() getTimezoneOffset() getUTCDate() getUTCDay() getUTCFullYear() getUTCHours() getUTCMilliseconds() getUTCMinutes() getUTCMonth() getUTCSeconds() now() parse() prototype setDate() setFullYear() setHours() setMilliseconds() setMinutes() setMonth() setSeconds() setTime() setUTCDate() setUTCFullYear() setUTCHours() setUTCMilliseconds() setUTCMinutes() setUTCMonth() setUTCSeconds() toDateString() toISOString() toJSON() toLocaleDateString() toLocaleTimeString() toLocaleString() toString() toTimeString() toUTCString() UTC() valueOf()

JS Error name message

JS Global decodeURI() decodeURIComponent() encodeURI() encodeURIComponent() escape() eval() Infinity isFinite() isNaN() NaN Number() parseFloat() parseInt() String() undefined unescape()

JS JSON parse() stringify()

JS Math abs() acos() acosh() asin() asinh() atan() atan2() atanh() cbrt() ceil() cos() cosh() E exp() floor() LN2 LN10 log() LOG2E LOG10E max() min() PI pow() random() round() sin() sqrt() SQRT1_2 SQRT2 tan() tanh() trunc()

JS Number constructor isFinite() isInteger() isNaN() isSafeInteger() MAX_VALUE MIN_VALUE NEGATIVE_INFINITY NaN POSITIVE_INFINITY prototype toExponential() toFixed() toLocaleString() toPrecision() toString() valueOf()

JS OperatorsJS RegExp constructor compile() exec() g global i ignoreCase lastIndex m multiline n+ n* n? n{X} n{X,Y} n{X,} n$ ^n ?=n ?!n source test() toString() (x|y) . \w \W \d \D \s \S \b \B \0 \n \f \r \t \v \xxx \xdd \uxxxx

JS Statements break class continue debugger do…while for for…in for…of function if…else return switch throw try…catch var while

JS String charAt() charCodeAt() concat() constructor endsWith() fromCharCode() includes() indexOf() lastIndexOf() length localeCompare() match() prototype repeat() replace() search() slice() split() startsWith() substr() substring() toLocaleLowerCase() toLocaleUpperCase() toLowerCase() toString() toUpperCase() trim() valueOf()

Mô tả

sẽ thực thi hàm  trên từng phần tử của mảng, và xây dựng một mảng mới với các phần tử mà giá trị trả về của nếu ép kiểu sẽ mang giá trị . chỉ được thực thi tại những chỉ mục (index) của mảng mà chúng được gán giá trị; nó không được thực thi tại chỉ mục đã bị xóa hoặc chưa từng được gán giá trị. Những phần tử không thỏa điều kiện tại hàm thử sẽ bị bỏ qua, không được cho vào mảng mới.

được gọi với ba tham số:

  1. giá trị của phần tử
  2. chỉ mục (index) của phần tử
  3. mảng ban đầu mà hàm thử đang được gọi lên

Nếu tham số được truyền cho hàm , nó sẽ được thay vào giá trị của từ khóa trong hàm callback. Nếu không, giá trị sẽ được dùng cho . Tóm lại, giá trị của từ khóa trong hàm được xác định tuân theo các quy tắc thông thường để xác định trong một hàm.

không làm thay đổi mảng mà nó được gọi.

Các phần tử được  chạy qua được xác định từ đầu trước khi được gọi lần đầu tiên. Những phần tử mới được thêm vào sau khi  bắt đầu chạy sẽ không được truyền vào . Trong lúc đang chạy, nếu những phần tử hiện tại của mảng bị thay đổi, thì giá trị của chúng khi được truyền cho   là giá trị tại thời điểm  chạy qua; những phần tử đã xóa sẽ bị bỏ qua.

Оператор расширения

Мы узнали, как получить массив из списка параметров.

Но иногда нужно сделать в точности противоположное.

Например, есть встроенная функция Math.max. Она возвращает наибольшее число из списка:


Допустим, у нас есть массив чисел . Как вызвать для него ?

Просто так их не вставишь — ожидает получить список чисел, а не один массив.

Конечно, мы можем вводить числа вручную : . Но, во-первых, это плохо выглядит, а, во-вторых, мы не всегда знаем, сколько будет аргументов. Их может быть как очень много, так и не быть совсем.

И тут нам поможет оператор расширения. Он похож на остаточные параметры – тоже использует , но делает совершенно противоположное.

Когда используется при вызове функции, он «расширяет» перебираемый объект в список аргументов.

Для :

Этим же способом мы можем передать несколько итерируемых объектов:

Мы даже можем комбинировать оператор расширения с обычными значениями:

Оператор расширения можно использовать и для слияния массивов:

В примерах выше мы использовали массив, чтобы продемонстрировать свойства оператора расширения, но он работает с любым перебираемым объектом.

Например, оператор расширения подойдёт для того, чтобы превратить строку в массив символов:

Посмотрим, что происходит. Под капотом оператор расширения использует итераторы, чтобы перебирать элементы. Так же, как это делает .

Цикл перебирает строку как последовательность символов, поэтому из получается . Получившиеся символы собираются в массив при помощи стандартного объявления массива: .

Для этой задачи мы можем использовать и . Он тоже преобразует перебираемый объект (такой как строка) в массив:

Результат аналогичен .

Но между и есть разница:

  • работает как с псевдомассивами, так и с итерируемыми объектами
  • Оператор расширения работает только с итерируемыми объектами

Выходит, что если нужно сделать из чего угодно массив, то — более универсальный метод.

Оптимізація кросбраузерної поведінки

Хоча об’єкти середовища виконання (такі як об’єкти DOM) за специфікацією не зобов’язані відповідати поведінці Mozilla при перетворенні методом , і IE < 9 цього не робить, версії IE починаючи від 9-ї дозволяють це. Використання шима дозволяє  створити надійну кросбраузерну поведінку. Поки інші сучасні переглядачі підтримують цю можливість, як нині роблять IE, Mozilla, Chrome, Safari та Opera, розробники, які читають (підтримують для об’єктів DOM) slice-код, що покладається на цей шим, не будуть введені в оману семантикою; вони спокійно можуть покладатися на семантику, щоб реалізувати тепер вже де-факто стандартну поведінку. (Шим також виправляє роботу IE з другим аргументом , коли він явно заданий як /, чого більш ранні версії IE також не дозволяли, але всі сучасні переглядачі, в тому числі IE >= 9, зараз дозволяють.)

/**
 * Шим для "виправлення" слабкої підтримки IE (IE < 9) використання slice
 * на об'єктах середовища, таких як NamedNodeMap, NodeList та HTMLCollection
 * (технічно, оскільки об'єкти середовища були залежні від реалізації,
 * принаймні до ES2015, IE не мав потреби у цій функціональності.)
 * Також працює для рядків, виправляє IE < 9, дозволяючи явно задане значення
 * undefined другим аргументом (як у Firefox) та запобігає помилкам
 * при виклику на інших об'єктах DOM.
 */
(function () {
  'use strict';
  var _slice = Array.prototype.slice;

  try {
    // Не можна використовувати з елементами DOM у IE < 9
    _slice.call(document.documentElement);
  } catch (e) { // Не працює у IE < 9
    // Працюватиме для справжніх масивів, подібних до масивів об'єктів, 
    // NamedNodeMap (атрибутів, сутностей, нотацій),
    // NodeList (напр., getElementsByTagName), HTMLCollection (напр., childNodes),
    // і не схибить на інших об'єктах DOM (як на елементах DOM у IE < 9)
    Array.prototype.slice = function(begin, end) {
      // IE < 9 не любить undefined в якості аргументу end
      end = (typeof end !== 'undefined') ? end : this.length;

      // Для об'єктів Array використовуємо рідну функцію slice
      if (Object.prototype.toString.call(this) === ''){
        return _slice.call(this, begin, end); 
      }

      // Для подібних до масивів об'єктів робимо це самостійно.
      var i, cloned = [],
        size, len = this.length;

      // Обробляємо від'ємне значення "begin"
      var start = begin || 0;
      start = (start >= 0) ? start : Math.max(0, len + start);

      // Обробляємо від'ємне значення "end"
      var upTo = (typeof end == 'number') ? Math.min(end, len) : len;
      if (end < 0) {
        upTo = len + end;
      }

      // Очікуваний розмір нового масиву
      size = upTo - start;

      if (size > 0) {
        cloned = new Array(size);
        if (this.charAt) {
          for (i = 0; i < size; i++) {
            cloned = this.charAt(start + i);
          }
        } else {
          for (i = 0; i < size; i++) {
            cloned = this;
          }
        }
      }

      return cloned;
    };
  }
}());

Images

SlideshowSlideshow GalleryModal ImagesLightboxResponsive Image GridImage GridTab GalleryImage Overlay FadeImage Overlay SlideImage Overlay ZoomImage Overlay TitleImage Overlay IconImage EffectsBlack and White ImageImage TextImage Text BlocksTransparent Image TextFull Page ImageForm on ImageHero ImageBlur Background ImageChange Bg on ScrollSide-by-Side ImagesRounded ImagesAvatar ImagesResponsive ImagesCenter ImagesThumbnailsBorder Around ImageMeet the TeamSticky ImageFlip an ImageShake an ImagePortfolio GalleryPortfolio with FilteringImage ZoomImage Magnifier GlassImage Comparison Slider

Array.reduceRight()

The method runs a function on each array element to produce (reduce it to) a single value.

The works from right-to-left in the array. See also .


The method does not reduce the original array.

This example finds the sum of all numbers in an array:

Example

var numbers1 = ;var sum = numbers1.reduceRight(myFunction);function myFunction(total, value, index, array) {  return total + value;}

Note that the function takes 4 arguments:

  • The total (the initial value / previously returned value)
  • The item value
  • The item index
  • The array itself

The example above does not use the index and array parameters. It can be rewritten to:

Example

var numbers1 = ;var sum = numbers1.reduceRight(myFunction);function myFunction(total, value) {  return total + value;}

is supported in all browsers except Internet Explorer 8 or earlier.

Yes 9.0 Yes Yes Yes

JS Tutorial

JS HOMEJS IntroductionJS Where ToJS OutputJS StatementsJS SyntaxJS CommentsJS VariablesJS OperatorsJS ArithmeticJS AssignmentJS Data TypesJS FunctionsJS ObjectsJS EventsJS StringsJS String MethodsJS NumbersJS Number MethodsJS ArraysJS Array MethodsJS Array SortJS Array IterationJS DatesJS Date FormatsJS Date Get MethodsJS Date Set MethodsJS MathJS RandomJS BooleansJS ComparisonsJS ConditionsJS SwitchJS Loop ForJS Loop WhileJS BreakJS Type ConversionJS BitwiseJS RegExpJS ErrorsJS ScopeJS HoistingJS Strict ModeJS this KeywordJS LetJS ConstJS Arrow FunctionJS DebuggingJS Style GuideJS Best PracticesJS MistakesJS PerformanceJS Reserved WordsJS VersionsJS Version ES5JS Version ES6JS JSON

Итерируемые объекты и псевдомассивы

Есть два официальных термина, которые очень похожи, но в то же время сильно различаются. Поэтому убедитесь, что вы как следует поняли их, чтобы избежать путаницы.

  • Итерируемые объекты – это объекты, которые реализуют метод , как было описано выше.
  • Псевдомассивы – это объекты, у которых есть индексы и свойство , то есть, они выглядят как массивы.

При использовании JavaScript в браузере или других окружениях мы можем встретить объекты, которые являются итерируемыми или псевдомассивами, или и тем, и другим.

Например, строки итерируемы (для них работает ) и являются псевдомассивами (они индексированы и есть ).

Но итерируемый объект может не быть псевдомассивом. И наоборот: псевдомассив может не быть итерируемым.

Например, объект из примера выше – итерируемый, но не является псевдомассивом, потому что у него нет индексированных свойств и .

А вот объект, который является псевдомассивом, но его нельзя итерировать:

Что у них общего? И итерируемые объекты, и псевдомассивы – это обычно не массивы, у них нет методов , и т.д. Довольно неудобно, если у нас есть такой объект и мы хотим работать с ним как с массивом. Например, мы хотели бы работать с , используя методы массивов. Как этого достичь?

Приклади

Повернути частину існуючого масиву

var fruits = ;
var citrus = fruits.slice(1, 3);

// fruits містить 
// citrus містить 

Використання 

У наступному прикладі  створює новий масив  з . Обидва містять посилання на об’єкт . Коли колір змінюється на фіолетовий, обидва масиви відображають зміну.

// Використання slice, створення newCar з myCar.
var myHonda = { color: 'червоний', wheels: 4, engine: { cylinders: 4, size: 2.2 } };
var myCar = ;
var newCar = myCar.slice(0, 2);

// Вивести значення myCar, newCar та колір myHonda
// з обох масивів.
console.log('myCar = ' + JSON.stringify(myCar));
console.log('newCar = ' + JSON.stringify(newCar));
console.log('myCar.color = ' + myCar.color);
console.log('newCar.color = ' + newCar.color);

// Змінити колір myHonda.
myHonda.color = 'фіолетовий';
console.log('Новий колір Honda ' + myHonda.color);

// Вивести колір myHonda з обох масивів.
console.log('myCar.color = ' + myCar.color);
console.log('newCar.color = ' + newCar.color);

Скрипт запише:

myCar = 
newCar = 
myCar.color = червоний 
newCar.color = червоний
Новий колір Honda фіолетовий
myCar.color = фіолетовий
newCar.color = фіолетовий

Filter Functions

Note: The filters that use percentage values (i.e. 75%), also accept the value as decimal (i.e. 0.75).

Filter Description
none Specifies no effects
blur(px) Applies a blur effect to the image. A larger value will create more blur. If no value is specified, 0 is used.
brightness(%) Adjusts the brightness of the image. 0% will make the image completely black.100% (1) is default and represents the original image. Values over 100% will provide brighter results.
contrast(%) Adjusts the contrast of the image.0% will make the image completely black.100% (1) is default and represents the original image. Values over 100% will provide results with less contrast.
drop-shadow(h-shadow v-shadow blur spread color) Applies a drop shadow effect to the image. Possible values:h-shadow — Required. Specifies a pixel value for the horizontal shadow. Negative values place the shadow to the left of the image.v-shadow — Required. Specifies a pixel value for the vertical shadow. Negative values place the shadow above the image.blur — Optional. This is the third value, and must be in pixels. Adds a blur effect to the shadow. A larger value will create more blur (the shadow becomes bigger and lighter). Negative values are not allowed. If no value is specified, 0 is used (the shadow’s edge is sharp).spread — Optional. This is the fourth value, and must be in pixels. Positive values will cause the shadow to expand and grow bigger, and negative values will cause the shadow to shrink. If not specified, it will be 0 (the shadow will be the same size as the element). Note: Chrome, Safari and Opera, and maybe other browsers, do not support this 4th length; it will not render if added.color: Optional. Adds a color to the shadow. If not specified, the color depends on the browser (often black).Tip: This filter is similar to the box-shadow property.
grayscale(%) Converts the image to grayscale. 0% (0) is default and represents the original image. 100% will make the image completely gray (used for black and white images).Note: Negative values are not allowed.
hue-rotate(deg) Applies a hue rotation on the image. The value defines the number of degrees around the color circle the image samples will be adjusted. 0deg is default, and represents the original image.Note: Maximum value is 360deg.
invert(%) Inverts the samples in the image. 0% (0) is default and represents the original image. 100% will make the image completely inverted.Note: Negative values are not allowed.
opacity(%) Sets the opacity level for the image. The opacity-level describes the transparency-level, where:0% is completely transparent.100% (1) is default and represents the original image (no transparency).Note: Negative values are not allowed.Tip: This filter is similar to opacity property.
saturate(%) Saturates the image. 0% (0) will make the image completely un-saturated.100% is default and represents the original image.Values over 100% provides super-saturated results. Note: Negative values are not allowed.
sepia(%) Converts the image to sepia. 0% (0) is default and represents the original image. 100% will make the image completely sepia.Note: Negative values are not allowed.

Приклади

.includes(2);      // true
.includes(4);      // false
.includes(3, 3);   // false
.includes(3, -1);  // true
.includes(NaN);  // true

більший або дорівнює довжині масиву

Якщо дорівнює або перевищує довжину масиву, пошук не здійснюється й завжди вертається :

var arr = ;

arr.includes('c', 3);    // вертає false
arr.includes('c', 100);  // вертає false

Обчислений індекс менший за 0

Якщо значення від’ємне, використовується обчислений індекс для визначення позиції, з якої починати пошук  у масиві. Якщо обчислений індекс менший або дорівнює , пошук здійснюється у всьому масиві.

// Довжина масиву дорівнює 3
// fromIndex дорівнює -100
// Обчислений індекс дорівнює 3 + (-100) = -97

var arr = ;

arr.includes('a', -100); // true
arr.includes('b', -100); // true
arr.includes('c', -100); // true
arr.includes('a', -2); // false

Застосування  як загального метода

Реалізація метода є зумисне узагальненою. Об’єкт, на який вказує , не обов’язково повинен належати до класу , тож використання можна поширити на інші масивоподібні об’єкти. В наведеному нижче прикладі його застосовано до об’єкта :

(function() {
  console.log([].includes.call(arguments, 'a'));  // виводить true
  console.log([].includes.call(arguments, 'd'));  // виводить false
})('a','b','c');

Будь ласка, не додавайте поліфіли у довідкові статті. Більше інформації дивіться у дискусії https://discourse.mozilla.org/t/mdn-rfc-001-mdn-wiki-pages-shouldnt-be-a-distributor-of-polyfills/24500

Polyfill

在 ECMA-262 第五版時被納入標準;它也許不會出現在該標準的所有實作引擎之中。你可以在你的腳本最前面加入下面的程式碼作為替代方案,讓不支援 的 ECMA-262 實作引擎能夠使用它。假設 是採用 的原始值,這個演算法完全和 ECMA-262 第五版定義的規格相同。

if (!Array.prototype.filter)
  Array.prototype.filter = function(func, thisArg) {
    'use strict';
    if ( ! ((typeof func === 'Function') && this) )
        throw new TypeError();
    
    var len = this.length >>> 0,
        res = new Array(len), // 預先配置陣列
        c = 0, i = -1;
    if (thisArg === undefined)
      while (++i !== len)
        // 確認物件的鍵值i是否有被設置
        if (i in this)
          if (func(t, i, t))
            res = t;
    else
      while (++i !== len)
        // 確認物件的鍵值i是否有被設置
        if (i in this)
          if (func.call(thisArg, t, i, t))
            res = t;
    
    res.length = c; // 將陣列縮至適當大小
    return res;
  };

JavaScript

JS Array concat() constructor copyWithin() entries() every() fill() filter() find() findIndex() forEach() from() includes() indexOf() isArray() join() keys() length lastIndexOf() map() pop() prototype push() reduce() reduceRight() reverse() shift() slice() some() sort() splice() toString() unshift() valueOf()

JS Boolean constructor prototype toString() valueOf()

JS Classes constructor() extends static super

JS Date constructor getDate() getDay() getFullYear() getHours() getMilliseconds() getMinutes() getMonth() getSeconds() getTime() getTimezoneOffset() getUTCDate() getUTCDay() getUTCFullYear() getUTCHours() getUTCMilliseconds() getUTCMinutes() getUTCMonth() getUTCSeconds() now() parse() prototype setDate() setFullYear() setHours() setMilliseconds() setMinutes() setMonth() setSeconds() setTime() setUTCDate() setUTCFullYear() setUTCHours() setUTCMilliseconds() setUTCMinutes() setUTCMonth() setUTCSeconds() toDateString() toISOString() toJSON() toLocaleDateString() toLocaleTimeString() toLocaleString() toString() toTimeString() toUTCString() UTC() valueOf()

JS Error name message

JS Global decodeURI() decodeURIComponent() encodeURI() encodeURIComponent() escape() eval() Infinity isFinite() isNaN() NaN Number() parseFloat() parseInt() String() undefined unescape()

JS JSON parse() stringify()

JS Math abs() acos() acosh() asin() asinh() atan() atan2() atanh() cbrt() ceil() cos() cosh() E exp() floor() LN2 LN10 log() LOG2E LOG10E max() min() PI pow() random() round() sin() sqrt() SQRT1_2 SQRT2 tan() tanh() trunc()

JS Number constructor isFinite() isInteger() isNaN() isSafeInteger() MAX_VALUE MIN_VALUE NEGATIVE_INFINITY NaN POSITIVE_INFINITY prototype toExponential() toFixed() toLocaleString() toPrecision() toString() valueOf()

JS OperatorsJS RegExp constructor compile() exec() g global i ignoreCase lastIndex m multiline n+ n* n? n{X} n{X,Y} n{X,} n$ ^n ?=n ?!n source test() toString() (x|y) . \w \W \d \D \s \S \b \B \0 \n \f \r \t \v \xxx \xdd \uxxxx

JS Statements break class continue debugger do…while for for…in for…of function if…else return switch throw try…catch var while

JS String charAt() charCodeAt() concat() constructor endsWith() fromCharCode() includes() indexOf() lastIndexOf() length localeCompare() match() prototype repeat() replace() search() slice() split() startsWith() substr() substring() toLocaleLowerCase() toLocaleUpperCase() toLowerCase() toString() toUpperCase() trim() valueOf()


С этим читают