Методы и свойства строк и чисел 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Методы и свойства строк и чисел



Методы – вспомогательные функции

Свойства – вспомогательные значения

https://learn.javascript.ru/string

https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String

https://learn.javascript.ru/number

https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number

 

 - всё в верхнем регистре - всё в нижнем регистре     - поиск подстроки. Поиск совпадения в заданной области. При -1 – совпадений не найдено - с какого индекса вырезаю и до какого () (-6,-11) отсчёт будет с конца строки - первый аргумент может быть > второго. Без -, -6 == 0. Поиск как у slice - откуда =6, сколько вырезать  включительно = 5 - мат округление и не очевидное применение parsInt(“12.2px”) => 12(number) parsFloat(“12.2px”) => 12.2(number)

 


Методы объектов

https://javascript.ru/tutorial/object/intro

Деструктуризация объектов

https://learn.javascript.ru/destructuring#destrukturizatsiya-obekta

Дескрипторы, геттеры и сеттеры свойств

https://learn.javascript.ru/descriptors-getters-setters

Объекты: перебор свойств

https://learn.javascript.ru/object-for-in

 

Т.к объект не может превратить встроку, когда объект вложен в объект. В переборах можно использовать Рекурсию

Перебор for … in, перебор for … of не подходит для объектов. Выводиться строяный тип данных

${key} – наименования ключа в цикле for…in может быть рандомным

${options[key]} – конструкция чтобы достать значения ключа из объекта

Получится для ключа name будет значение options.name

 

Перебор внутри перебора

 ->

 

Приём счётчика

 

Можно через методы объектов, Object.keys – этот метод берёт объект и на его основании создаёт массив (из ключей) в котором все элементы – ключи находяшехся на первом значении ключ: значение у объекта

получам массив со всеми ключами

У строк и массивов есть свойство length – при помощи которого можно узнать сколько там элементов содержеться  ->

Рукотворный метод внутри объекта

 запускаем ->

Объекты – структура сохраняет в себе любые данные

Диструктурирзация

 

Диструктурирзация – разделить на болеее мелкие кусочки

                              Что брать                                   откуда брать

Вытащили кусочки в качестве отдельной переменной

->

Всё в JS идёт от объектов,все сущности сводятся к объектам.

 

Массивы и псевдомассивы

Быстрая сортировка - http://algolist.ru/sort/quick_sort.php

Отличие for...of от for...in в javascript

http://coldfox.ru/article/5c7ffe64bbf20e61c12c7348/%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D0%B5-for-of-%D0%BE%D1%82-for-in-%D0%B2-javascript

const arr = [1, 2, 3, 4, 8];

 

arr.pop(); - удаляет последний index в массиве

console.log(arr); -> [ 1, 2, 3, 4 ]

arr.push(10); - добавляет указанное значение в конец выбранного массива

console.log(arr); -> [ 1, 2, 3, 4, 8, 10 ]

arr.unshift(10); - добавляет значение в начало массива. It is rarely used because

arr.shift(10); - убирает значение в начало массива the first index changes

Перебор [] количество элементов которые находятся в массиве

for (let i = 0; i < arr.length; ++i) {

console.log(arr[i]);

}

Цикл будет обрабатывать до тех пор пока не закончатся элементы массива, чтобы обратиться к определённому элементу массива нужно поставить скобки и внутри указать индекс

Перебор for…of  работает с массивоподобными сущьностями. Им можно перебрать строку p[], сущности MAP/ SET, определённые элементы со страницы

Переменная value (рандомная), которая отображает каждый отдельный элемент внутри [].  Через for…of нельзя перебрать объект

for (let value of arr){ // value – каждый элемент в []

console.log(value); // кол-во элементов в [] будет = кол-ве итераций цикла

}      -> в for…of можно использовать brake & continua <-

const arr = [1, 2, 3, 4, 8];

console.log(arr.length); -> 5 // Свойство length – последний i в [] + 1

 [] – служат для хранения элементов строго по порядку, но иногда правило может нарушиться

const arr = [1, 2, 3, 4, 8];

arr[99] = 0; - на 99-позицию помещаю 0

console.log(arr.length); -> Свойство length вернёт 100/ наглядный пример свойства length - последний i + 1

Если глянуть так

const arr = [1, 2, 3, 4, 8];

arr[99] = 0;

console.log(arr.length);

console.log(arr); -> [ 1, 2, 3, 4, 8, <94 empty items>, 0 ]

Так делать нельзя, т.к нарушается логика

Метод forEach – позволяет гибка перебрать все элементы, которые находятся внутри []. Метод –фунция, а метод forEachпринимает в себя Callback f-n

Эта функция будет выполняться каждый раз, для каждого элемента []  . Проходиться по каждому элемементу массива и примменяет ф-ю на каждом из этих элементов

И это Callback можно гибка настроить, она может принимать три аргумента

'use strict';

const arr = [1, 2, 3, 4, 8];

arr.forEach(function(item, i, arr) {

console.log(`${i}: ${item} внутри массива {arr}`);

});

// Номер по порядку с помощью интерполяции значение каждого элемента в []

                                                                                         Если добавить ${arr}

0: 1 внутри массива {arr} 1: 2 внутри массива {arr} 2: 3 внутри массива {arr} 3: 4 внутри массива {arr} 4: 8 внутри массива {arr} 0: 1 внутри массива 1,2,3,4,8 1: 2 внутри массива 1,2,3,4,8 2: 3 внутри массива 1,2,3,4,8 3: 4 внутри массива 1,2,3,4,8 4: 8 внутри массива 1,2,3,4,8

 

 

1-й аргумент – элемент который перебирает элементы []: 1, 2, 3 …. Аргумент  назвать можно  как угодно. Этот аргумент можно использовать внутри ф-и

2-ой аргумент – номер по порядку (с 0), в этой переменной i (рандомное н-е) можно сохранить номер по порядку

3-ий аргумент – ссылка на тот массив, который переберается

Callback ф-я – служит для того чтобы выполниться после определённых действий

В методе forEach отсутствует brake и continuum в отличии от for… of

 

Задача: От пользователя или сервера получили большую строку (строковый тип данных), где через какой-нибудь знак написаны товары

Превращаем в обычный [], где данные лежат по порядку, т.е

Формирование [] на основании строк

const str = prompt("", ""); // создаются переменные, используется операция split

const products = str.split(", "); // чётко указывается разделитель

console.log(products);

вводил в promt:

["aplle", "banana", " onion ", " картошка", "яблоко"] и получил массив

1. 0: "aplle"

2. 1: "banana"

3. 2: " onion "

4. 3: " картошка"

5. 4: "яблоко"

6. length: 5    пробелы при написании остались

'use strict';

const str = prompt("", ""); - строка данных через,

const products = str.split(", "); - закидывает в [] элементы с,

console.log(products.join(';')); - из [] склеивает строку с разделителем;

products.sort(); - сортирует элементы в [] как строки в алфавитном порядке

Особенность метода sort на числовых []

const arr = [1, 12, 23, 114, 8];

arr.sort();

console.log(arr); -> [ 1, 114, 12, 23, 8 ] всё в строку, сравнение посимвольно

Этого можно избежать, т.к метод sort может принять Callback. Можно указать как именно сортировать этот []

const arr = [1, 12, 23, 114, 8];

arr.sort(compairNum); - передаём ф-ю compairNum

console.log(arr);

 

function compairNum(a, b) {

return a - b;

}

 

Получим

[ 1, 8, 12, 23, 114 ]

                       

Почему так? Это из-за алгоритма быстрой сортировки

Псевдо[] – объект у которого структура совпадает с массивом, нет  методов



Методы перебора массивов

 получим новый массив Использование return обязатльно
  map – позвляет взять исходный массив и изменить каждый элемент внутри него всё в нижнем регистре Новый [] создавать не обязательно, но лучше создать
every/some – возвращает булиное значение. some - задаётся услови на поиск, если соотв. хоть один элемент – true every -  зад.условие в котором всё должно соотв
21 Со строками С интрерполяцией reduce – схлопывает массивы в один   Можно задать начальное значение после current

 

С сервера пришли данные и нужно забрать только имена

 



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 88; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.19.211.134 (0.028 с.)