У меня есть такой массив строк.Заменить числа в строковом массиве javascript
var items= ['products/600/application/286/tabbed/301/text',
'products/600/application/286/tabbed/305/text',
'products/600/application/500/tabbed/200/text',
'products/600/application/500/tabbed/300/text',
'products/600/application/286/tinytext',
'products/600/differenttext'];
Мне нужно заменить номера с последовательными номерами (одни и те же номера должны быть одинаковыми) и вывод должен выглядеть следующим образом:
var items= ['products[1]/application[1]/tabbed[1]/text',
'products[1]/application[1]/tabbed[2]/text',
'products[1]/application[2]/tabbed[1]/text',
'products[1]/application[2]/tabbed[2]/text',
'products[1]/application[1]/tinytext',
'products[1]/differenttext'];
Обратите внимание, что одни и те же цифры должны получить тот же результат, например, все 286 должен быть [1], поскольку он является самым низким, а 500 должен быть заменен на [2], поскольку он является следующим большим по вертикали. Думайте о них как о детях. Например, для строк
products/600/application/286/tabbed/301/text,
products/600/application/286/tabbed/305/text,
его же до tabbed
, но после этого, есть 2 разные дети и первой свой идентификатор 301 вторых является 305. Таким образом, они должны [1] и [2]. Теперь посмотрите на строки
products/600/application/286/tabbed/305/text,
products/600/application/500/tabbed/200/text,
products/600/application/500/tabbed/300/text,
В этом случае приложение имеет двух детей. 286 и 500. И второй, у которого 500 человек, имеет 2 своих детей. Поэтому дети из 500-х должны быть 1 и 2 (200 и 300)
После подачи заявки temp= items[0].match(/\d+/g);
Я получаю результат [600,286,301]
. Должен ли я использовать объект json, чтобы поместить весь результат, который я получаю от temp
, или использовать 2d массивы?
JSON не имеет никакого значения здесь - это формат сериализация – Alnitak
Неясно мне, что речь идет о –
@Ege это поможет, если вашему пример вывод было на самом деле правильно ... – Alnitak