मुझे पता है कि जावास्क्रिप्ट में एक सरणी किसी ऑब्जेक्ट से कुछ और नहीं है। जब मैं उस तरह एक सरणी को परिभाषित:सरणी व्यवहार की प्रतिलिपि कैसे करें?
var array;
array = [ "a", "b", "c" ];
और
Object.keys(array);
चलाने मैं सरणी निम्नलिखित हो: ["0", "1", "2"]
। array
की ऐरे लंबाई 3
है।
जब मैं की तरह कोई प्रॉपर्टी जोड़ते हैं:
array["a"] = "d";
Object.keys()
["0", "1", "2", "a"]
लौट रहा है, लेकिन array
की सरणी लंबाई अभी भी 3
है।
लेकिन जब मैं उस तरह कोई प्रॉपर्टी जोड़ते हैं:
array["3"] = "d";
array
की लंबाई अब 4
है।
यदि array
सिर्फ एक और वस्तु है, तो मैं अपने ऑब्जेक्ट को var myArray = {}
जैसे स्क्रैच से कैसे शुरू करूं?
[कंगैक्स से इस क्लासिक ब्लॉग पोस्ट को पढ़ें] (http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/) - यह पता चला है कि आप आप जो भी पूछ रहे हैं वह नहीं कर सकता। – Pointy
संभावित डुप्लिकेट [वस्तुओं की सरणी पर जावास्क्रिप्ट सरणी लंबाई गलत] (http://stackoverflow.com/questions/2528680/javascript-array-length-incorrect-on-array-of-objects) – epascarello