Оператори на поръчка. Javascript методи за роботизирани редове

Ще ви кажа предварително, така че статията на Troch е неправилна, любезно ви молим в коментарите, няма грешно уточнение).

Приятен ден.

JavaScript има два подобни оператора: == и ===. Ако не познавате авторитета си, можете да се превърнете в куп помилвания. Tozh vyrishiv rozkriti tsyu тема. Защо те самите възкликват == и ===, как смърдят, защо се чувстват така и как получават помилване.

Операторът == сравнява с равенство, същото като === - с идентичност. Предимството на оператора === е, че той не прехвърля две стойности към един и същи тип. Същите вина звънят и побеждават.

Abc == недефинирано; // вярно, така че abc = undefined | null abc === недефинирано; // вярно - значи abc = undefined!
abc == невярно; // вярно, така че abc = false | 0 | "" | abc === невярно; // вярно, така че abc = false!
Aje stray false і 0 (или "", или) - едва ли е по-добре.

Разбрах:
5 === 5; // вярно вярно === вярно; // вярно "abc" === "abc"; // вярно

И в същото време дупе от цикави.
5 == 5; // вярно 5 === 5; // true new Number(5) == 5; // true new Number(5) === 5; // невярно!

Защо така vіdbuvaetsya? И така, дали едно число е обект на класа Number. Елът може да разкрие числото като фигура – ​​един вид константа. Вон веднъж е зашеметена и завинаги идентична със себе си. Но в същото време един оглушителен нов обект от клас Number е по-скъп от стойността, но не е идентичен (има два абсолютно различни обекта от клас Number).

Масиви/обекти

И оста за масивите и обектите на атакуващия оператор е същата, подобна на идентичността:
var a = (); а == (); // false a === (); // невярно a == a; // вярно a === a; // вярно

За да сортирате масиви и обекти, можете да напишете специална функция:
функция isEq(a, b)( if(a == b) връща вярно; for(var i in a)( if(!isEq(a[i], b[i])) връща false; ) for(var i в b)( if(!isEq(a[i], b[i])) върне false; ) върне true; )
Trochy небрежен, два цикъла, ta th pro има Собствено свойствозабули; добре, че ziyde.

Това<-

Има още един подводен камък. Це прехвърляне на це.
(функция()( това == 5; // вярно това === 5; // невярно )).call(5);

Axis е такъв момент. Warto не забравяйте за новия.

Заедно...

Е, сега е очевидно, че пишем нашата суперрамка, активно използваме оператора === replace == само защото е красив и трябва да знаем малка грешка.
func(новНомер(5)); (функция()( func(това); )).повикване(5);

Ето ви, така че приложите немъртвите? Моля те!

jQuery:
$.each(, function()( func(this); ));

Е, искахте да разширите броя.
var Five = Нов номер(5); пет.а = 2; // исках да се разшири, но 5 не се разширява // тук изглежда победоносно... func(Five);

На кого всичко, подкрепям, на когото ще бъде полезно. Благодаря за уважението.

Ако пишете JavaScript, още по-често се въвеждат в Интернет при търсене на информация за синтаксиса и параметрите за методи, които работят в редове.

Прочетох много статии с редове роботи. В тази публикация ще бъдат показани приложения и кратки описания на най-обширните методи за работа в редове. Опитах се да поставя най-често срещаните методи на върха на шведските знания.

Очевидно повече информация за търговците на дребно вече може да се получи чрез използване на най-добрите методи, но мисля, че това е добър списък за първи път, за да се разбере наборът от методи, които могат да помогнат за подобряване на визуализацията на операциите на сгъване с прости методи.

Преобразуване в String

Можете да конвертирате число, вираз или обект в ред:

var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

Можете да го направите сами за помощ низ():

var myNumber = 24; // 24 var myString = String(myNumber); // "24"

Ако не разбираш какво не значи нулаили неопределено, можете да спечелите низ(), както винаги завъртете реда независимо от типа стойност.

Podіl ryadka на podryadki

За да разделите редовете на масив от редове, можете да изберете метода разделяне():

Var myString = "приближаване, разделяне, в, the, запетаи"; var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["идва", "отделя", "в"]

Както можете да видите в останалата част от реда, друг параметър на функцията е целевият брой елементи, които ще има масивът с чанти.

Отриманя дожини ред

Да знам колко символа в редицата, моята победна сила дължина:

Var myString = "Ти си доста герой."; var stringLength = myString.length; // 25

Poshuk podryadki на реда

Є два метода за търсене на работа:

Vikoristannya индекс на():

Var stringOne = "Джони Уолдо Харисън Уолдо"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

индекс на()методът стартира търсенето на поръчката от кочана на реда и завърта позицията на кочана на първия запис на поръчката. В тази категория – 7-ма позиция.

Vikoristannya lastIndexOf():

Var stringOne = "Джони Уолдо Харисън Уолдо"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Методът завърта позицията на кочана на оставащото влизане на реда в реда.

И в двата метода, ако редът не бъде намерен, стойността -1 се завърта и обидата се приема от друг аргумент, който показва позицията на реда, ако искате да се пошегувате. В този ранг, като друг аргумент "5", индекс на()започнете търсене на 5 знака, като игнорирате знаци 0-4, точно същото lastIndexOf()започнете търсене от символ 5 и продължете направо, игнорирайки символите 6 и по-нататък.

Замяна на договор

За да замените въвеждането на един ред в ред с друг ред, можете да спечелите замести():

Var slugger = "Джош Хамилтън"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Хосе Баутиста"

Първият аргумент са тези, които искате да замените, а другият аргумент е нов ред. Функцията замества първия запис в реда.

За да замените всички записи, е необходимо да спечелите обикновения вирус от глобалния флаг:

Var myString = "Тя продава автомобилни черупки на автомобилния бряг"; var newString = myString.replace(/automotive/g, "море"); конзолен дневник(новСтринг); // "Тя продава морски раковини на морския бряг"

Друг аргумент може да бъде замяната на специален шаблон или функция. Докладът може да се прочете.

Вземете знака след дадената позиция в реда

Можем да премахнем символа за допълнителна функция charAt():

Var myString = "Птици от пера"; var whatsAtSeven = myString.charAt(7); // "f"

Както често се използва в JavaScript, първата позиция в реда започва от 0, а не от 1.

Като алтернативна функция можете да спечелите charCodeAt()функция за кодиране на символ.

Var myString = "Птици от пера"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Моля, имайте предвид, че кодът за знака "F" (11-та позиция) е по-нисък от знака "f" (позиция 7).

Z'ednannya rowkіv

В повечето случаи, за да обедините редове, можете да използвате оператора „+“. Ale, така че можете да vikoristati метод concate():

Var stringOne="Knibb High Football"; var stringTwo = stringOne.concat("правила."); // "Knibb High футболни правила"

В този ред можем да обединим безличните редове в един ред, в който е изписана вонята:

VarstringOne = "Knibb"; var stringTwo = "Висока"; var stringThree = "футбол"; var stringFour = "правила."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // "Knibb високи футболни правила."

Вилучения подрядки

Є 3 начина за добавяне на ред към част от следващия ред:

використ резен():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

використ подниз():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

И в двете функции първият параметър е символът, от който се стартира редът (започвайки от позиция 0), а другият аргумент (необходим) е позицията на знака, до който се завърта редът. На дупето (5, 10) се завърта ред между позиции 5 и 9.

використ substr():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

Първият аргумент е позицията на знака, от който се стартира новият ред, а другият аргумент е броят на знаците в позицията на кочана на новия ред. Тобто. (5, 10) завъртат 10 знака, започвайки от 5-та позиция.

Превод на ред с главни или малки букви.

Є 4 Ще преведа методите. Първите 2 за превод на реда в главни букви:

Var stringOne = "Говорете, не мога да ви чуя."; var stringTwo = stringOne.toLocaleUpperCase(); // "ГОВОРЕТЕ, НЕ МОГА ДА ВИ ЧУЯ" // "ГОВОРЕТЕ, НЕ МОГА ДА ВИ ЧУЯ "

Други 2 превеждат реда с малки букви:

Var stringOne = "НЕ ТРЯБВА ДА ВИЕТЕ"; var stringTwo = stringOne.toLocaleLowerCase(); // "не е нужно да крещите"

По-добре е да използвате метода "locale", т.к на различни места, например в Турция, регистрацията на регистъра не е известна, както го нарекохме, и резултатът може да бъде същият, както искахме. Ако използвате метода "locale", няма да има такива проблеми.

съвпадащ модел

Валидността на шаблона в един ред може да бъде vikoristan с помощта на 2 метода, така че те работят по различен начин.

Метод съвпада() zastosovuetsya преди реда и vin приема като редовен параметър на вируса:

Var myString = "Колко дърва би могъл един патронник за дърво"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["дърво"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Колко дърва би могъл един патронник за дърво"

Метод exec() zastosovuetsya преди обекта на обикновената вираза и приема като параметър на ред:

Var myString = "Колко дърва би могъл един патронник за дърво"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Колко дърва би могъл един патронник за дърво"

И при двата метода първата стъпка е обърната. Yakshto zbіgіv не bulo - обърнете се нула.

Можете също да завъртите метода Търсене(), който приема регулярен израз и завърта позицията на първия ключ след шаблона:

Var myString = "Предполагам"; var patternLocation = myString.search(/ume/); // 3

Yakshcho zbіgіv не bulo - обърнете се -1 «.

Сдвояване на два реда за сортиране

Можете да подравните 2 реда, за да посочите как първият тръгва от тях за опората. За коя скорост е методът localeCompare(), което превръща 3 възможни стойности:

Var myString = "пиле"; var myStringTwo = "яйце"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome връща -2) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome връща 2)

Както беше показано повече, числото става отрицателно, като аргумент на ред след обратния ред. Положително число, като аргумент за ред, отиде по-рано за последния ред. Якчо се обръща 0 - Значи редовете са равни.

За да проверите стойността, която се върти, е по-добре да използвате if (резултат< 0), чем if (result === -1). Последнее не будет работать в Chrome.

Благодаря ви за уважението, сигурен съм, че открихте много нови неща!

Автор на статията: Алекс. категория:
Дата на публикуване: 19.03.2013 г

Ако пиша в JavaScript, тогава често ходя на boke системи, за да изясня синтаксиса на методите (i ред, обозначение на аргументи), които работят в редове.

В тази статия ще се опитам да дам примери за най-обширните методи на JavaScript, свързани с редовете. Най-популярният метод за ръчно зашиване е в горната част на статията.

Нека го превърнем в ред

Можете да пренаредите число, стойност или обект в ред.

var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

Можете също да правите подобни манипулации с помощната функция string().

var myNumber = 24; // 24 var myString = String(myNumber); // "24"

Николас Закас казва: „Ако нямате стойност (нула или недефинирана), тогава използвайте функцията String(), завъртайки парчетата в ред независимо от типа промяна.“

неопределеноозначава, че промяната не получава желаната стойност, a нула, - който се присвоява на празна стойност (можем да кажем, че null се присвоява като празен обект).

Разбиване на ред на редове

За да разделите ред на масив от редове, можете да завъртите метода split():

Var myString = "приближаване, разделяне, в, the, запетаи"; var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["идва", "отделя", "в"]

Като плач от останалата част от реда, значението на друг неоезиков аргумент показва броя на елементите в масива, който се обръща.

Отстранете дължината на реда

За допълнителната мощност на дължината можете да знаете броя на Unicode знаците в един ред:

Var myString = "Ти си доста герой."; var stringLength = myString.length; // 25

Означаваме ред подред

Има два начина да го направите:

Wikiwand indexOf():

Var stringOne = "Джони Уолдо Харисън Уолдо"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

Методът indexOf() търси ред (първият предаден аргумент) в ред (поглежда в горната част на реда) и завърта позицията на първия знак, от който редът е започнал да влиза.

Wickery lastIndexOf() :

Var stringOne = "Джони Уолдо Харисън Уолдо"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Методът lastIndexOf() работи по същия начин, поради факта, че останалата част от реда търси вписването на реда.

С един поглед, сякаш поръчката не е намерена, нарушението на метода и завъртане -1. Друг необвързващ аргумент сочи към позицията в реда, за която искате да се пошегувате. Така че, ако друг аргумент на метода indexOf() е 5, търсенето ще бъде върнато от 5-ия знак и 0-4 знака ще бъдат игнорирани. За lastIndexOf() , както и за другия аргумент на 5, търсенето ще се върне директно и знаци като 6 и повече ще бъдат игнорирани.

Как да замените част от ред

За да замените част (или да обърнете всички) от ред, маркирайте метода replace().

Var slugger = "Джош Хамилтън"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Хосе Баутиста"

При първия аргумент тази част от договора е пропусната, като замяна; друг аргумент е същият ред, на който заставате, заместете това, което се заменя. Първото копие на поръчката ще бъде заменено.

За да замените всички входове на заповедта, намигвайте обикновения вираз с прапорщика "g".

Var myString = "Тя продава автомобилни черупки на автомобилния бряг"; var newString = myString.replace(/automotive/g, "море"); конзолен дневник(новСтринг); // "Тя продава морски раковини на морския бряг"

Друг аргумент може да включва подниз или функция.

Намерете героя зад дадената позиция

За да разберете кой знак е на дадена позиция, можете да използвате метода charAt():

Var myString = "Птици от пера"; var whatsAtSeven = myString.charAt(7); // "f"

Както често се случва в JavaScript, първата позиция означава 0, а не 1.

Като алтернатива можете да настроите метода charCodeAt(), да замените знака и да изхвърлите този код.

Var myString = "Птици от пера"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Посочете, че кодът за главната буква (позиция 11) се счита за код за главната буква и с малки букви (позиция 7).

javascript конкатенация на низове

Най-добрият вариант за конкатенация на редове и виктористи е операторът (+). Въпреки това, можете също да обединявате редове с помощта на метода concat().

Var stringOne="Knibb High Football"; var stringTwo = stringOne.concat("правила."); // "Knibb High футболни правила"

Можете да предавате анонимни редове на concat() и в резултантния ред смрадите ще бъдат сортирани по реда на добавянето им към метода concat().

VarstringOne = "Knibb"; var stringTwo = "Висока"; var stringThree = "футбол"; var stringFour = "правила."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // "Knibb високи футболни правила."

Част от ред (премахване на ред от javascript)

Има три различни начина за създаване на нов ред, "vismiknuvshi" част от реда от вече очевидния ред.

Wicorst slice() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

Vicorist substring() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

И за двата метода (slice() и substring()), първият аргумент е целевата позиция на знака, от която се базира поднизът (последователността се изпълнява от 0), другият аргумент е целевата позиция на знака, където поднизът завършва и символът е присвоен на другия аргумент, не се включва в началото на реда.

Vicorist substr() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

За метода substr първият аргумент също така определя позицията на знака, от който започва последователността. Друг аргумент е neobov'yazkovim. Но в същото време друг аргумент обозначава броя на знаците, сякаш са включени преди подниза, като се започне от позицията, както вече посочихме в първия аргумент. Тази техника е добре илюстрирана в примера.

Промяна на ред с малки или главни букви в javascript

Є chotiri начини за отглеждане на необходимата трансформация. Два реда за трансформация на символи в горния регистър.

Var stringOne = "Говорете, не мога да ви чуя."; var stringTwo = stringOne.toLocaleUpperCase(); // "ГОВОРЕТЕ, НЕ МОГА ДА ВИ ЧУЯ"

І два за преобразуване на редове в малки букви:

Var stringOne = "НЕ ТРЯБВА ДА ВИЕТЕ"; var stringTwo = stringOne.toLocaleLowerCase(); // "не е нужно да крещите"

По правило няма разлика между locale-method и non-locale-method, но „за някои езици, например за турски, за които регистърът на знаците не следва установения регистър на буквите в системата Unicode, наследството на вариацията на нелокалния метод може да бъде различно." Ето защо, следвайте правилото за напредване: „ако не знаете езика, в някакъв код е по-безопасно да използвате локалния метод“.

Валидиране на шаблони в javascript

Можете да промените външния вид на шаблона в един ред с помощта на 2 начина.

Методът match() се извиква върху обекта низ, тъй като аргумент на метода match() се предава редовно.

Var myString = "Колко дърва би могъл един патронник за дърво"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["дърво"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Колко дърва би могъл един патронник за дърво"

Методът exec() се извиква от обекта RegExp, като аргумент се предава в следния ред:

Var myString = "Колко дърва би могъл един патронник за дърво"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Колко дърва би могъл един патронник за дърво"

След като са обидили методите, те се обръщат при първия път, когато влязат. Всичко, което не е намерено, ще бъде върнато NULL. Ако обикновеният вираз има знак "g", тогава резултатът ще бъде завъртян масив, за да отмъсти за всички вълни.

Можете също да настроите метода search(), който приема обикновен масив като аргумент и завърта позицията на главата на първия шаблон, за да съвпадне.

Var myString = "Предполагам"; var patternLocation = myString.search(/ume/); // 3

Ако zbіgіv не се разкрие, начинът за завой е -1.

Сдвояване на два реда за далечно сортиране

За да сравните два реда подредени в реда на сортиране в движещия се стандарт, можете да използвате метода localeCompare. Методът localeCompare завърта три възможни стойности.

MyString = "пиле"; var myStringTwo = "яйце"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (с изключение на Chrome, който връща -2) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome връща 2)

Както е показано по-горе, отрицателната стойност ще се завърти, така че оригиналният ред при сортиране да се обърне преди аргумента на реда, тъй като аргументът на реда се обръща при сортиране след оригиналния ред, стойността +1 се завърта. Тъй като нулевите стойности се завъртат, два реда са еквивалентни.

Операндите на оператора за подреждане могат да бъдат или числови, или редови стойности. Редовете се сортират, като се отклоняват от стандартния лексикографски ред в алтернативите на Unicode.

Javascript позволява някакво съвпадение и съвпадение с дадените типове. За suvorovogo povnyannya obydva operandi поради майката от същия тип i:

  • Два реда са строго равни, сякаш са образувани от една и съща последователност от символи
  • Две числа са строго равни, като равни на основното значение на думата. +0 суворо доривню -0.
  • NaN строго не е същото като нищо, включително NaN
  • Двата булеви операнда са строго равни, вярно или невярно
  • Два операнд-обекта са строго равни, сякаш са изпратени към един и същ пламен обект
  • Null и Undefined са равни == , но не са строго равни ===

Следната таблица описва операторите за подреждане:

Оператор Описание Приложете това, което става вярно, когато var1=3, var2=4
Ривно (==) Сякаш два операнда не са от един и същи тип, JavaScript трансформира типа и го съпоставя перфектно. Ако операндът е булево число, тогава операндите се преобразуват в числа; yakscho be-yak операнд row - друга трансформация в ред

3 == вар1
"3" == вар1
3 == "3"

Нито един (!=) Включете true, ако операндите не са равни. Както операндите могат да променят типа, JavaScript се пренаписва.

вар1 != 4
var1 != "5"

Строго един (===) Задайте true, така че операндите да са строго равни (div. по-високи), без да преобразувате типове.
Строго не един (!==) Задайте true, така че операндите да не са строго еднакви (чудесни), а може да са различни типове.

вар2 !== 3
3 !== "3"

Още (>) Включете true, ако левият операнд е по-голям от десния операнд.
Повече или едно (>=) Включете true, за да посочите, че левият операнд е по-голям от десния или по-голям от другия.

вар2 >= вар1
вар1 >= 3

Менше (<) Включете true, ако левият операнд е по-малък от десния операнд.
По-малко или по-скъпо (<=) Включете true, ако левият операнд е по-малък от десния или е равен на него.

вар1<= var2
var2<= 5

Зли оператори

Стандартните оператори за равенство (== i!=) съпоставят два операнда с един и същи тип. Равенството на Сувора (=== i!==) задава съответстващи операнди от същия тип. Превземете строга еквивалентност, тъй като операндите се дължат на майката от същия тип и стойност. По различен начин използвайте различни оператори за равенство, тъй като те ви позволяват да обърнете равенството на операндите, за да създадете различен тип смрад.

Когато конвертира типове, Javascript преобразува низ, число, булев и обект по обиден начин:

  • Когато числото е равно, този ред, редът се променя на числовата стойност. Javascript има своя собствена стойност за номера на низовия литерал: "123" == 123 .
  • Ако един от операндите е булев, тогава vin се преобразува в 1, ако vin е true и до +0, ако vin е false
  • Ако обект се сравнява с число или в ред, Javascript ще се опита да съвпадне със съответната стойност на обекта. Він преобразува обект в елементарна стойност, ред или число, използвайки методите valuesOf и toString. Ако не знаете как да конвертирате обекта - генерира се помилване.
Не практикувайте