我有一個像這樣的字符串數組。替換字符串數組中的數字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名不同的兒童和第一次的id是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