मुझे फ़िल्टर मानदंड खोए बिना सूची पृष्ठ पर वापस जाने की आवश्यकता है। ऐसा करने के लिए, मैं कुकीज़ का उपयोग कर रहा हूं, फॉर्म फ़िल्टर सबमिट होने पर इसे सेट कर रहा हूं। सूची पृष्ठ में हुक पर घुड़सवार, मुझे स्प्लिट विधि का उपयोग करके विशिष्ट कुकी को स्ट्रिंग के रूप में मिल रहा है और मेरे पास परिणाम है:

[
 "filter1:value",
 "filter2:value"
]

या, तार की एक सरणी। फॉर्म फ़िल्टर के वी-मॉडल में प्रत्येक मान में हेरफेर करने और सम्मिलित करने के लिए मैं इसे JSON में कैसे परिवर्तित कर सकता हूं?

* एक वेब एप्लिकेशन है जो VueJS का उपयोग करता है।

1
Sergio Lima 8 फरवरी 2021, 17:45

3 जवाब

सबसे बढ़िया उत्तर

: सेपरेटर का उपयोग करके उन्हें विभाजित करने के बाद अपने सरणी तत्वों से किसी ऑब्जेक्ट को बनाने के लिए Object.fromEntries का उपयोग करें:

let data = [
 "filter1:value",
 "filter2:value"
]

let result = Object.fromEntries(data.map(e => e.split(":")))

console.log(result)
1
Alan Omar 8 फरवरी 2021, 17:50

आप JSON.stringify और JSON.parse का उपयोग कर सकते हैं।

JSON.stringify({list: ["filter1:value", "filter2:value"]})
'{"list":["filter1:value","filter2:value"]}'
JSON.parse('{"list":["filter1:value","filter2:value"]}')
{list: ["filter1:value", "filter2:value"]}
0
Akif Hadziabdic 8 फरवरी 2021, 17:51

पहली पंक्ति के साथ हम सरणी को स्ट्रिंग में परिवर्तित करते हैं, दूसरी पंक्ति के साथ हम स्ट्रिंग को JSON ऑब्जेक्ट में परिवर्तित करते हैं, आप हेरफेर कर सकते हैं

var arrayToString = JSON.stringify(Object.assign({}, arr));  // convert array to string
var stringToJsonObject = JSON.parse(arrayToString); 
0
carminePat 8 फरवरी 2021, 17:57