मेरे पास जावास्क्रिप्ट में एक सरणी है जिसमें बहुत सारे एरे हैं। यह समझने का सबसे अच्छा/सरल तरीका क्या होगा कि सरणी कितनी बिट्स/बाइट्स रखती है? मैं अपने PHP सर्वर पर सरणी भेज रहा हूं, और यह केवल 5kB बड़ा हो सकता है।सरणी बिट/बाइट आकार सरणी
क्या इसके लिए कोई मूल तरीका है? मैं बिट्स से बहुत अच्छी तरह से परिचित नहीं हूँ। अगर मैं इसे सही ढंग से समझता हूं तो 1 वर्ण 8 बी/1 बी में फिट बैठता है (हालांकि यह स्पष्ट रूप से एन्कोडिंग पर निर्भर करता है)। क्या सभी सरणी के माध्यम से लूप करना और पात्रों की गिनती करना सबसे अच्छा तरीका होगा?
var g = JSON.stringify(myBigNestedarray).replace(/[\[\]\,\"]/g,''); //stringify and remove all "stringification" extra data
alert(g.length); //this will be your length.
उदाहरण के लिए (क्रम बहुत अच्छा अनुमान प्राप्त करने के लिए):
'jQuery.param' दस्तावेज़ों का उद्धरण: "नोट: क्योंकि परम तारों के लिए कोई सार्वभौमिक रूप से सहमत विनिर्देश नहीं है, इसलिए इस विधि का उपयोग करके जटिल डेटा संरचनाओं को एन्कोड करना संभव नहीं है जो आदर्श रूप से ऐसे सभी भाषाओं में काम करता है इनपुट। इसके बजाय जेएसओएन प्रारूप का उपयोग एन्कोडिंग जटिल डेटा के विकल्प के रूप में करें। " – Prinzhorn
ओप जानना चाहता है कि सरणी ** कितने बाइट ** रखती है। आपका समाधान उन अतिरिक्त वर्णों पर विचार नहीं करता है जो सरणी '[] 'और' "' आदि का प्रतिनिधित्व करते हैं ... इसलिए आपके समाधान के अनुसार - '[1]' की लंबाई 3 है जो गलत है (इसकी लंबाई 1 है)। –
@ रॉयनामिर यही वह कहता है, लेकिन मुझे नहीं लगता कि उसका मतलब यही है। अगर वह केवल सर्वर पर 5 केबी स्थानांतरित कर सकता है, तो धारावाहिक डेटा की लंबाई की गणना होती है। और '[1]' की लंबाई 8 है, क्योंकि जावास्क्रिप्ट '1' को 64 बिट आईईईई 754 फ्लोटिंग पॉइंट नंबर के रूप में स्टोर करता है। आप देखते हैं, उसका प्रश्न संदिग्ध है। – Prinzhorn