javascript - हरण - व्हाट इस जावास्क्रिप्ट




आप जावास्क्रिप्ट में एक वर्ण सरणी के लिए एक स्ट्रिंग कैसे प्राप्त करते हैं? (6)

आप Array.from उपयोग भी कर सकते हैं।

var m = "Hello world!";
console.log(Array.from(m))

यह विधि ईएस 6 में पेश की गई है।

संदर्भ

Array.from

आप जावास्क्रिप्ट में एक वर्ण सरणी के लिए एक स्ट्रिंग कैसे प्राप्त करते हैं?

मैं सोच रहा हूं जैसे "Hello world!" सरणी ['H','e','l','l','o',' ','w','o','r','l','d','!']


आपको कुछ भी करने की ज़रूरत नहीं है। यह पहले से ही चार का सरणी है।


चूंकि इस सवाल को मूल रूप से पांच साल पहले पूछा गया है, इसलिए लोग अभी भी इस प्रकार के कार्य को गलत तरीके से गलत तरीके से पेश कर रहे हैं। जैसा कि हिप्पियेट्राइल सुझाव देता है , मध्यस्थ का जवाब सरोगेट जोड़ों को तोड़ सकता है और "पात्रों" को गलत तरीके से परिभाषित कर सकता है। उदाहरण के लिए:

// DO NOT USE THIS!
> '𝟘𝟙𝟚𝟛'.split('')
[ '�', '�', '�', '�', '�', '�', '�', '�' ]

मैं इन वर्ण अनुक्रमों को सही तरीके से संभालने के लिए निम्न ES2015 सुविधाओं में से किसी एक का उपयोग करने का सुझाव देता हूं।

स्प्रेड-ऑपरेटर ( पहले से ही insertusernamehere द्वारा उत्तर दिया गया है)

> [...'𝟘𝟙𝟚𝟛']
[ '𝟘', '𝟙', '𝟚', '𝟛' ]

Array.from

> Array.from('𝟘𝟙𝟚𝟛')
[ '𝟘', '𝟙', '𝟚', '𝟛' ]

u फ्लैग रेगेक्स

> '𝟘𝟙𝟚𝟛'.split(/(?=.)/u)
[ '𝟘', '𝟙', '𝟚', '𝟛' ]

यदि आप अभी भी ES5.1 युग में हैं, तो आप इस विकल्प का उपयोग कर सकते हैं (बेबेल द्वारा पारदर्शी):

> '𝟘𝟙𝟚𝟛'.split(/(?=(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]))/)
[ '𝟘', '𝟙', '𝟚', '𝟛' ]

यह एक पुराना सवाल है लेकिन मैं अभी तक सूचीबद्ध एक और समाधान में आया हूं।

वांछित आउटपुट प्राप्त करने के लिए आप ऑब्जेक्ट.साइन फ़ंक्शन का उपयोग कर सकते हैं:

Object.assign([], "Hello, world!")
[ 'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!' ]

जरूरी नहीं कि सही या गलत, बस एक और विकल्प।

ऑब्जेक्ट.साइनन एमडीएन साइट पर अच्छी तरह से वर्णित है।


spread ऑपरेटर

आप ईसीएमएस्क्रिप्ट 2015 (ईएस 6) मानक में पेश किए गए एक ऐरे प्रारंभकर्ता, स्प्रेड ऑपरेटर का उपयोग कर सकते हैं:

var arr = [...str];

उदाहरण

function a() {
    return arguments;
}

var str = 'Hello World';

var arr1 = [...str],
    arr2 = [...'Hello World'],
    arr3 = new Array(...str);

console.log( arr1, arr2, arr3, a(...str) );

सभी उदाहरणों में ["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d"]

ब्राउज़र समर्थन

ECMAScript ES6 संगतता तालिका की जांच करें

आगे की पढाई

spread ऑपरेटर को " स्प्लट-ऑपरेटर " (जैसे PHP या Ruby या " scatter ऑपरेटर " (जैसे Python ) के रूप में भी संदर्भित किया जाता है।

डेमो

खरीदने से पहले कोशिश करें


> "Hello world!".split('')
["H", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]

बस इसे एक खाली स्ट्रिंग से विभाजित करें।

String.prototype.split() दस्तावेज़ देखें।








character-arrays