Зачем нужен ("") при использовании .split, .reverse, .join

Например, если бы я использовал str.split (), он не работал бы, но при использовании str.split ("") он работает нормально.

вопрос может показаться странным, но что на самом деле делает ""? Не могли бы вы привести мне несколько примеров, где используется что-то еще (если оно вообще используется)? Это просто синтаксис или причина?

Надеюсь, вы это понимаете, сложно объяснить.

Функция .split() принимает один необязательный аргумент: подстроку, которая разбивает исходную строку. "" - это просто пустая строка.

Pointy 25.04.2018 19:15

@CrazyTrain Согласно MDN, является является необязательным, но по умолчанию он просто возвращает массив из одного элемента, являющегося исходной строкой. "1,2,3".split() возвращает ["1,2,3"], когда я его выполняю.

Ivar 25.04.2018 19:22

R.T.F.M ........

Salman A 25.04.2018 19:23

@ Ивар: Извини, я ошибся. Это значение по умолчанию не используется. Ты прав.

user2437417 25.04.2018 19:24

@ Ивар, я думаю, это имеет смысл; Но без разделителя это бессмысленно :)

Pointy 25.04.2018 20:47
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
6
214
2

Ответы 2

Потому что split() без разделителя не имеет смысла. split() с "" говорит «Разделить между всеми символами». В любом другом случае это означает «разбивать на массив строк каждый раз, когда вы встречаетесь с этим персонажем».

Например:

const str = "h1e1l1l1o1w1o1r1l1d";
console.info(str.split(1));

Это будет разделено на массив, где каждая буква helloworld является отдельным элементом массива.

Кроме того, реализация спецификации диктует, что произойдет, если разделитель опущен (выделено мной):

Specifies the string which denotes the points at which each split should occur. The separator is treated as a string or as a regular expression. If a plain-text separator contains more than one character, that entire string must be found to represent a split point. If separator is omitted or does not occur in str, the array returned contains one element consisting of the entire string. If separator is an empty string, str is converted to an array of characters.

Прочтите документацию по следующим методам:

  • String.split()
  • Array.join()

Метод JavaScript String.split() принимает два необязательных параметра. Если вы ничего не передаете в метод, он возвращает массив с исходной строкой в ​​качестве первого значения в массиве.

Первый параметр - это символ для разделения, если это пустая строка, он разбивается на каждый символ, поэтому, если ваша строковая переменная - собака, и вы вызываете split для нее, передавая пустую строку, она разбивает каждый символ на массив, поэтому вы будет иметь массив с 3 элементами, каждый из которых представляет собой букву, array [0] = 'd', array1 = 'o', array [2] = 'g'

Второй параметр является необязательным и задает ограничение на количество разделений, поэтому, если у вас есть слово, которое можно разделить 6 раз на пробел, и вы передали второй параметр как 5, оно пропустило бы последнюю часть.

Пожалуйста, не направляйте людей в w3schools.

Salman A 25.04.2018 19:25

Итак, если я правильно понял ваш комментарий, используя split (""), разделив строку на отдельные символы, но без этого вы разбиваете ее на несколько массивов?

M.Vrh 25.04.2018 20:39

@ M.Vrh Он всегда разбивается на массив, если вы передаете "" в split, он разбивается на каждый символ в строке. Итак, в моем комментарии я привел пример того, как собака будет разделена на массив длиной 3, каждый индекс, содержащий одну букву, если вы ничего не передадите в split (), он все равно создаст массив, но длина равна 1, а значение имеет исходную строку

Ryan Wilson 25.04.2018 20:42

Другие вопросы по теме