टाइपप्रति कास्टिंग सरणियों

वोट
22

मैं एक पुस्तकालय है कि एक इनपुट पैरामीटर के रूप में किसी सरणी चाहता है के लिए एक आवरण का उपयोग करने की कोशिश कर रहा हूँ।

मैं सरणी कास्टिंग की कोशिश की, लेकिन मैं कोई त्रुटि मिलती है: कनवर्ट नहीं कर सकता 'किसी भी []' को 'सरणी'

इस काम करने के लिए कोई तरीका है?

var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
09/10/2012 को 05:12
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


4 जवाब

वोट
33

वहाँ सरणियों के लिए टाइपप्रति में 4 संभव रूपांतरण तरीके हैं:

let x = []; //any[]

let y1 = x as number[];
let z1 = x as Array<number>;
let y2 = <number[]>x;
let z2 = <Array<number>>x;

asऑपरेटर ज्यादातर के लिए डिज़ाइन किया गया है *.tsxफ़ाइलों वाक्य रचना अस्पष्टता से बचने के।

03/02/2016 को 16:09
का स्रोत उपयोगकर्ता

वोट
6

मुझे लगता है कि सही वाक्य रचना है:

var rows2 = <Array<any>>rows;

यही कारण है कि कैसे आप कास्ट है interface Array<T>

03/02/2016 को 15:10
का स्रोत उपयोगकर्ता

वोट
4

मुझे लगता है कि यह सिर्फ एक बग है - आप CodePlex साइट पर एक मुद्दा प्रवेश कर सकते हैं?

समाधान के लिए, आप लिख सकते हैं <Array><any>rows;

09/10/2012 को 05:33
का स्रोत उपयोगकर्ता

वोट
0

सभी प्रकार के लिए एक सरल समाधान

const myArray = <MyType[]>value;
02/01/2019 को 21:12
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more