Разделить массив (неравномерные куски), когда значение элемента заканчивается на «назад»

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

const arrExample = ["Blah","559","86,758","4.05","2.38","-4.48%","-0.44%","13,562","30d ago", "Trall","531","210,676","16","15","-3.8%","4,955","403d ago", "Shibu","506","991,748","84","6.71%","5,897","667d ago", "Mommy","404","35,083","1.64","1.64","-8.38%","17%","7,378","323d ago","Rocket","403","274",".4088",".355","-","-","483","47h ago"...]

Поведение ключевого слова "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) для оценки ваших знаний,...
1
0
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Переберите входной массив, чтобы найти позиции, в которых фрагменты начинаются и заканчиваются, используя String.prototype.endsWith() . Затем мы можем использовать нативный метод Array.prototype. slice(), чтобы получить весь фрагмент и сразу вставить его в результаты... что должно быть более эффективным, чем создание массива фрагментов и изменение его размера по мере того, как мы помещаем в него каждое отдельное значение, особенно в качестве входных данных. и размеры кусков увеличиваются.

const input = ["Blah","559","86,758","4.05","2.38","-4.48%","-0.44%","13,562","30d ago", "Trall","531","210,676","16","15","-3.8%","4,955","403d ago", "Shibu","506","991,748","84","6.71%","5,897","667d ago", "Mommy","404","35,083","1.64","1.64","-8.38%","17%","7,378","323d ago","Rocket","403","274",".4088",".355","-","-","483","47h ago"];
const output = [];
const length = input.length; // caching length can improve performance
let seekIndex = 0, chunkIndex = 0;
while (seekIndex < length) {
  if (input[seekIndex++].endsWith(" ago")) { // post-increment seekIndex
    output.push(input.slice(chunkIndex, seekIndex)); // slice & push entire chunk
    chunkIndex = seekIndex; // set the next chunkIndex
  }
}
console.info(output);

Может быть, это поможет, если я вас правильно понимаю

const result = [];
let acc = [];
for (let item of arrExample) {
    acc.push(item);
    if (item.endsWith(' ago')) {
        result.push(acc); // if last element can be without ' ago' you should check emptyness of acc after cycle
        acc = [];
    } 
}

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