2013-05-08 4 views
27

मेरे पास एक स्ट्रिंग है जिसे मुझे किसी दिए गए इंडेक्स पर विभाजित करने की आवश्यकता है और फिर दोनों भागों को वापस लौटाएं, जो अल्पविराम से अलग हो जाएं। उदाहरण के लिए:दिए गए इंडेक्स पर दो में विभाजित स्ट्रिंग और दोनों भागों को वापस करें

string: 8211 = 8,211 
     98700 = 98,700 

तो मैं किसी भी सूचकांक पर स्ट्रिंग विभाजित और फिर स्ट्रिंग के दोनों हिस्सों लौटने में सक्षम होने की जरूरत है। विधियों में निर्मित विभाजन को निष्पादित करने लगता है लेकिन विभाजन के केवल एक हिस्से को लौटाता है।

string.slice केवल स्ट्रिंग के निकाले गए हिस्से को वापस कर देता है। string.split केवल आप चरित्र सूचकांक नहीं पर विभाजित करने के लिए string.substring मैं क्या आवश्यकता है की अनुमति देता है, लेकिन केवल सबस्ट्रिंग string.substr रिटर्न बहुत समान - अभी तक केवल-स्ट्रिंग

+2

आप उम्मीद उत्पादन दिखा सकते हैं? –

+2

'विभाजन()' स्क्रिप्टिंग की एक सरणी देता है, जैसा कि आप निस्संदेह जानते हैं। कृपया उस कोड को शामिल करें जो आपके लिए काम नहीं कर रहा है। –

+0

क्या यह सिर्फ हजार विभाजक नहीं है? –

उत्तर

52

इस

function splitValue(value, index) { 
 
    return value.substring(0, index) + "," + value.substring(index); 
 
} 
 

 
console.log(splitValue("3123124", 2));
प्रयास करें रिटर्न

1

इस तरह कुछ? ...

function stringConverter(varString, varCommaPosition) 
{ 
    var stringArray = varString.split(""); 
    var outputString = ''; 
    for(var i=0;i<stringArray.length;i++) 
    { 
    if(i == varCommaPosition) 
     { 
     outputString = outputString + ','; 
     } 

    outputString = outputString + stringArray[i]; 
    } 

    return outputString; 
} 
20

ES6 1-लाइनर

// :: splitAt = number => Array<any>|string => Array<Array<any>|string> 
 
const splitAt = index => x => [x.slice(0, index), x.slice(index)] 
 

 
console.log(
 
    splitAt(1)('foo'), // ["f", "oo"] 
 
    splitAt(2)([1, 2, 3, 4]) // [[1, 2], [3, 4]] 
 
) 
 

1

आप इसे भी ऐसा कर सकते हैं।
https://jsfiddle.net/Devashish2910/8hbosLj3/1/#&togetherjs=iugeGcColp

var str, result; 
str = prompt("Enter Any Number"); 

var valueSplit = function (value, length) { 
    if (length < 7) { 
     var index = length - 3; 
     return str.slice(0, index) + ',' + str.slice(index); 
    } 
    else if (length < 10 && length > 6) { 
     var index1, index2; 
     index1 = length - 6; 
     index2 = length - 3; 
     return str.slice(0,index1) + "," + str.slice(index1,index2) + "," + str.slice(index2); 
    } 
} 

result = valueSplit(str, str.length); 
alert(result); 
संबंधित मुद्दे