簡體   English   中英

搜索字符串鍵數組以匹配變量,並使用javascript / jquery返回所有值

[英]Search array of string keys for matching variable and return all values using javascript / jquery

我正在構建一個電子商務應用程序,當用戶將產品添加到購物籃中時,其中一部分會創建一個cookie(美國英語:請閱讀“購物車”)。 應用程序的邏輯通常會為每個用戶生成多個籃子(因此會生成多個cookie)。 每個cookie都有一個鍵,該鍵始終以字符串“ basket”開頭,后跟一個升序整數。 每個購物籃都有一個ID(它是32個字符串),存儲為cookie的值。

在Cookie中,用戶的購物籃ID以字符串形式存儲,每個字符串都有一個名稱/值對。 我已經設法將所有cookie名稱/值對推入一個數組,以便該數組讀取:

["mcart=537244a1377f97374fff2233cdc29bdf", " mtoken=0f9a74b73d2f29b1c6088d63b7f4f4a5c545bbe9", " mexpires=1468626166000", " basket1=aw7j0r9ke3hq8tp20egf7105dozfn13i", " basket2=kpxpdnw6nnfyvawmk7n4s7pd9meaimy7", " basket3=9264k594wi9vgfiotkvz323n35yfvkkf"]

我創建了一個變量:

var name = 'basket';

我的目標是使用javascript(大概是regex)或jquery來:

  • 返回鍵/值對具有與“ basket1”,“ basket2”和“ basket3”匹配的鍵的值(請注意,鍵中緊跟在引號后面的多余空間);
  • 繼續匹配並返回創建的將來鍵/值對的值(例如“ basket4”,“ basket5”,“ basket91”);
    • 在javascript數組中返回所述值。

預先感謝社區。

var cookies = ["mcart=537244a1377f97374fff2233cdc29bdf", " mtoken=0f9a74b73d2f29b1c6088d63b7f4f4a5c545bbe9", " mexpires=1468626166000", " basket1=aw7j0r9ke3hq8tp20egf7105dozfn13i", " basket2=kpxpdnw6nnfyvawmk7n4s7pd9meaimy7", " basket3=9264k594wi9vgfiotkvz323n35yfvkkf"];

var baskets = [];

for (var i = 0; i < cookies.length; i++) {
    var match = cookies[i].match(/basket\d+=(.*)/);
    if (match) {
        baskets.push(match[1]);
    }
}

console.log(baskets);

// Output:
// [ 'aw7j0r9ke3hq8tp20egf7105dozfn13i',
//   'kpxpdnw6nnfyvawmk7n4s7pd9meaimy7',
//   '9264k594wi9vgfiotkvz323n35yfvkkf' ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM