Узнать количество строк javascript

String: length

The length data property of a String value contains the length of the string in UTF-16 code units.

Try it

Value

Property attributes of String: length
Writable no
Enumerable no
Configurable no

Description

This property returns the number of code units in the string. JavaScript uses UTF-16 encoding, where each Unicode character may be encoded as one or two code units, so it’s possible for the value returned by length to not match the actual number of Unicode characters in the string. For common scripts like Latin, Cyrillic, wellknown CJK characters, etc., this should not be an issue, but if you are working with certain scripts, such as emojis, mathematical symbols, or obscure Chinese characters, you may need to account for the difference between code units and characters.

The language specification requires strings to have a maximum length of 2 53 — 1 elements, which is the upper limit for precise integers. However, a string with this length needs 16384TiB of storage, which cannot fit in any reasonable device’s memory, so implementations tend to lower the threshold, which allows the string’s length to be conveniently stored in a 32-bit integer.

  • In V8 (used by Chrome and Node), the maximum length is 2 29 — 24 (~1GiB). On 32-bit systems, the maximum length is 2 28 — 16 (~512MiB).
  • In Firefox, the maximum length is 2 30 — 2 (~2GiB). Before Firefox 65, the maximum length was 2 28 — 1 (~512MiB).
  • In Safari, the maximum length is 2 31 — 1 (~4GiB).

For an empty string, length is 0.

The static property String.length is unrelated to the length of strings. It’s the arity of the String function (loosely, the number of formal parameters it has), which is 1.

Since length counts code units instead of characters, if you want to get the number of characters, you can first split the string with its iterator, which iterates by characters:

function getCharacterLength(str)  // The string iterator that is used here iterates over characters, // not mere code units return [. str].length; > console.log(getCharacterLength("A\uD87E\uDC04Z")); // 3 

Examples

Basic usage

const x = "Mozilla"; const empty = ""; console.log(`$x> is $x.length> code units long`); // Mozilla is 7 code units long console.log(`The empty string has a length of $empty.length>`); // The empty string has a length of 0 

Strings with length not equal to the number of characters

const emoji = "😄"; console.log(emoji.length); // 2 console.log([. emoji].length); // 1 const adlam = "𞤲𞥋𞤣𞤫"; console.log(adlam.length); // 8 console.log([. adlam].length); // 4 const formula = "∀𝑥∈ℝ,𝑥²≥0"; console.log(formula.length); // 11 console.log([. formula].length); // 9 

Assigning to length

Because string is a primitive, attempting to assign a value to a string’s length property has no observable effect, and will throw in strict mode.

const myString = "bluebells"; myString.length = 4; console.log(myString); // "bluebells" console.log(myString.length); // 9 

Specifications

Browser compatibility

BCD tables only load in the browser

See also

Found a content problem with this page?

This page was last modified on May 31, 2023 by MDN contributors.

Your blueprint for a better internet.

MDN

Support

Our communities

Developers

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.

Источник

JavaScript | Сколько строк в массиве?

Как узнать какое количество строк находится в массиве?

Когда мы говорим о массиве, то мы работаем с элементами и их индексами. В данном случае предполагается, что элементами массива являются строковые значения.

То есть по сути нам нужно узнать сколько элементов находится в массиве. Как это сделать?

var massiv = ["stroka1","stroka6","stroka3","stroka31","stroka600","stroka43434"]

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

Массив из шести строк - JavaScript

Если в массиве присутствуют смешанные данные?

var massiv = [ , 123, [], "stroka1", [456], "stroka3", , "stroka2", 567, "stroka5", 183, "stroka6", true, false, "stroka4"]

Как узнать количество строковых данных в смешанном массиве?

Эту задачу нужно разделить на два этапа:

  1. Сначала фильтруем массив по типу данных String
  2. Потом считаем количество элементов после фильтрации

Фильтруем

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

Любой элемент массива будет принадлежать какому-то классу. По другому быть не может. Любой класс имеет свой собственный конструктор, поэтому у любого элемента массива можно получить название класса.

massiv.filter(i => i.constructor.name = color: #993300;">String")

Фильтруем массив на строки - JavaScript

После такой фильтрации мы получим только строковые значения. Любые числа, массивы, объекты, булевы и т.п. будут отброшены.

Считаем

massiv.filter(i => i.constructor.name = color: #993300;">String").length

Фильтруем массив на строки и считаем количество - JavaScript

Фильтр возвращает нам новый массив, в котором нужно просто получить значение свойства «length«.

В нашем случае получится число 6 . То есть из исходного массива мы извлекли 6 строковых элементов.

Источник

Как посчитать количество строк в строке в javascript

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

var lines = $("#ptest").val().split("\n"); alert(lines.length); 

Не работает для этого тестового примера: ‘Roomy Below:\n\nStart again.’ . Он обнаруживает 3 строки, когда визуально их 4. Это связано с тем, что разделение объединяет обе новые строки вместе. — Простой

@SimplGy Что? Это не подводит. Он обнаруживает 3 линии, потому что есть 3 линии, даже визуально. console.log(‘Roomy Below:\n\nStart again.’) дает вам 3 строки. Если разделить объединенные новые строки, это не сработает: console.log(‘Roomy Below:\n\nStart again.’.split(‘\n’).join(‘\n’)) , но это так, и вы снова получите те же 3 строки. — Джулс

Вы правы, Джулс, я испортил этот случай воссоздания, потому что визуально это 3 строки (первая \ n завершает текстовую строку, а вторая создает пустую строку). Я уверен, что в какой-то момент мое возражение было основано на реальном жизненном сценарии, но я понятия не имею, что именно. — Простой

Если в вашем тексте для символов новой строки используется только ‘\ n’ (например, ‘s value ), вы можете рассмотреть возможность использования TEXT.match(/^/mg).length . — Константин Ван

@Khamidulla Вы неправильно подсчитали, «\ n \ n» состоит из 3 строк, каждая из которых содержит пустую строку. Каждая строка (даже пустая) имеет 1 строку, затем каждый \ n добавляет еще одну строку. На самом деле это то же самое, что смотреть на «1 \ n2 \ n3», то есть на числа 1, 2 и 3, каждое в отдельной строке. — сцена

Еще одно короткое, потенциально более эффективное, чем сплит-решение, решение:

const lines = (str.match(/\n/g) || '').length + 1 

ответ дан 23 мар ’19, в 16:03

Источник

Получить количество строк в сообщении

Получить количество строк в RichTextBox
Весь мсдн облазил — не могу найти , как получить колличество сторок у RichTextBox. Помогите плиз!

Получить количество строк из переменной
как получить количество строк из переменной типа string ?

Получить количество строк в TStrings
Подскажите пожалуйста, как правильно вызвать метод virtual int __fastcall GetCount(void) = 0; .

Получить количество строк из SqlDataReader
Как получить количество строк из SqlDataReader? .FieldCounter — это столбцы. А строки как? Нужно.

Игорь[Igor], ну если известно, что в этом диве будет только текст, без тегов, то innerHTML, а дальше разбей на массив, по \s\n кажется ( новая строк, начало строки ) и получишь количество строк ( равен длине массива ) Разбить можно через [].split(«\s\n»);

Игорь[Igor], приведи пример уже готового варианта, который на клиенте будет отображаться. JS ведь тоже на клиенте будет

color="gray" size="1">[13:20] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: 1br>color="gray" size="1">[21:12] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: <Script Language="JavaScript"> alert("Приветик!"img src="./smiles/ad.gif" alt="">; // функция вывода в JavaScript </Script>br>color="gray" size="1">[21:16] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: fdgbr>color="gray" size="1">[21:16] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: вапbr>color="gray" size="1">[21:16] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: img src="./smiles/ab.gif" alt="">br>color="gray" size="1">[18:17] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: asdbr>color="gray" size="1">[15:09] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: фывbr>color="gray" size="1">[15:09] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: ываbr>color="gray" size="1">[15:51] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: 1br>color="gray" size="1">[15:52] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: 1br>color="gray" size="1">[15:53] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: вbr>color="gray" size="1">[15:55] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: йbr>color="gray" size="1">[15:56] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: 1br>color="gray" size="1">[16:47] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: 1br>color="gray" size="1">[16:49] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: 123br>color="gray" size="1">[16:53] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: 2br>color="gray" size="1">[17:21] /font>a href="user.php?id=1">b>color="blue">Мрак/font>/b>/a>: 1br>

Добавлено через 45 секунд
Это я сейчас получил так

var lens = document.getElementById("messages"); alert(lens.innerHTML);

Игорь[Igor], попробуй сплитать вот так вот

var arr = lens.split("
"
); arr.length; // количество элементов = количество строк , в идеале, попробуй так
var lens = document.getElementById("messages"); var arr = lens.split("
"
); alert(arr.length); if (arr.length > 0) { $("#chatAudio")[0].play(); }

Добавлено через 1 минуту
И что-то кажется громоздко это получается и памяти под это много надо будет, можно переменными заменить из вне?

Добавлено через 2 минуты
Может библиотеку еще надо какую что б это работало?

Добавлено через 15 минут
Заговорил

var lens = document.getElementById("messages").innerHTML; var arr = lens.split("
"
); alert(arr);

Игорь[Igor], не, библиотек тут явно не надо. Надо понять, что именно надо. Допустим тебе нужны переход на новую строку в тексте, но у тебя стоят еще и теги, то есть переходы при тегах тоже надо учитывать?

Только вот нибудет это сильно накладно при большом кол-ве строк?

Добавлено через 5 минут
Вот конечный результат

1 2 3 4 5 6 7 8 9 10 11 12 13 14
var plens = document.getElementById("messages").innerHTML.split("
"
); //Очищаем форму ввода $("#messages").empty(); //Выводим что вернул нам php $("#messages").append(html); //Прокручиваем блок вниз(если сообщений много) $("#messages").scrollTop(90000); var lens = document.getElementById("messages").innerHTML.split("
"
); if (lens.length > plens.length) { $("#chatAudio")[0].play(); }

Получить количество строк в textbox
мне нужно получить количество строк в текст бокс и если в текст бокс больше 1000 строк выполнить.

Получить количество строк в TextView (ListView)
привет всем. уже очень давно никак не могу получить количество строк в TextView который находится.

Получить количество строк в ComboBox и ListBox
Как узнать сколько строк в ComboBox или ListBox/ Например: if Количество строк > 5 then .

Получить количество строк большого файла
Всем привет! Мужики, может есть у кого-то опыт, помогите обмозговать. Собственно есть файл.

Источник

Читайте также:  Css div float inline
Оцените статью