मैं जावास्क्रिप्ट में ["Susy", "John", "Mary"]
से "Susy, John, and Mary"
जैसे सरणी कैसे बदल सकता हूं? मैं अपने सिर से रूबी की to_sentence विधि नहीं प्राप्त कर सकता।वाक्य के लिए जावास्क्रिप्ट ऐरे
उत्तर
पिछले एक को छोड़कर सभी वस्तुओं में शामिल हों, और फिर उस जोड़ें:
var s = arr.slice(0, arr.length - 1).join(', ') + ", and " + arr.slice(-1);
सिर्फ एक नोट- अमेरिकियों ने "और" से पहले एक अल्पविराम रखा। ओपी ने यह किया है। – Popnoodles
@popnoodles: आह, तो आप बस '+" और "+' का उपयोग करेंगे। – Guffa
मैं इस विधि के साथ चला गया। – Corey
आप) .join उपयोग कर सकते हैं (और एक साथ अंतिम मान पहले जोड़ें "और"
var array = ['susy', 'john', 'mary'];
array[array.length-1] = 'and '+array[array.length-1];
//string is "susy, john, and mary"
var string = array.join(', ');
var arr = ["Susy", "John", "Mary"];
var str = arr.join(", ");
फिर से कारक बनाने दें, यह "सस्सी, जॉन, मैरी" का उत्पादन करता है, जो वांछित परिणाम नहीं है। – pjmorse
पिछले संशोधित तो शामिल होने
+०१२३५१६४१०६var source = ["Susy", "John", "Mary"];
source.push('and ' +source.pop());
console.log(source.join(', '))// Susy, John, and Mary
ठीक है यह कामुक है :) लेकिन क्या यह पहले से एक अल्पविराम जोड़ने के लिए व्याकरणिक रूप से सही है? – mika
1 और 2 तत्वों के लिए काम नहीं करता है: ["Susy"] => "और Susy"। ["सूसी", "जॉन"] => "सूसी, और जॉन" –
कि प्रयास करें:
var array = ['susy', 'john', 'mary'];
var last = array.pop();
var string = array.join(', ') + " and " + last;
मैं टी कोशिश didn लेकिन आप विचार
और एक और समाधान मिलना चाहिए:
(function(a) {
var b = (a||(a=[])).pop();
return (b ? a.length ? [a.join(", "),b] : [b] : a).join(" and ");
})(["Susy", "John", "Mary"]);
या बस में अपने माणिक की तरह सजा विधि को परिभाषित सरणी का प्रोटोटाइप:
Array.prototype.sentence = function(comma,and) {
var b = this.pop();
return (b ? this.length ? [this.join(comma||", "),b] : [b] : this).join(and||" and ");
};
["Susy", "John", "Mary"].sentence();
//"Susy, John and Mary"
["Susy", "John", "Mary"].sentence(" and ", " as well as ");
//"Susy and John as well as Mary"
["Susy", "John", "Mary", "Helmut"].sentence();
//"Susy, John, Mary and Helmut"
एक अन्य विकल्प, Array.prototype.reduce
का उपयोग कर, होगा:
var arr = [1,2,3];
arr.reduce(
function(prev, curr, i){
return prev + curr + ((i===arr.length-2) ? ' and ' : ', ')
}, '')
.slice(0, -2);
उत्पादन "1, 2 and 3"
।
इस एक में कुछ अतिरिक्त मामलों के होते हैं:
- हम "और" (ऑक्सफोर्ड कॉमा) से पहले एक अल्पविराम
- किसी भी तरह से, हम एक अल्पविराम यदि नहीं करना चाहते हैं करना चाहते हैं : वहाँ केवल 2 तत्वों
- अगर वहाँ केवल 1 तत्व है मैं यह उन उपयोग के मामलों के सभी फिट बैठता है लगता है कि हम सिर्फ इतना है कि शब्द लौटे
चाहते हैं,
function joinSentence(array, oxford_comma){
if(array.length > 1){
var lastWord = " and " + array.pop();
if(oxford_comma && array.length > 1){
lastWord = "," + lastWord;
}
}else{
var lastWord = "";
}
return array.join(", ") + lastWord;
}
यह सही जवाब होना चाहिए! – mech
toSentence = function(arr){ return arr.join(", ").replace(/,\s([^,]+)$/, ' and $1');};
toSentence(['dogs', 'cats']); // => dogs and cats
toSentence(['dogs', 'cats', 'snakes']); // => dogs, cats and snakes
- 1. जावास्क्रिप्ट ऐरे इंडेक्स मूलभूत
- 2. जावास्क्रिप्ट ऐरे सिंटेक्स
- 3. जावास्क्रिप्ट में ऐरे समझ?
- 4. एक जावास्क्रिप्ट ऐरे
- 5. जावास्क्रिप्ट का ऐरे रिवर्स
- 6. जावास्क्रिप्ट में यादृच्छिक वाक्य पीढ़ी
- 7. जावास्क्रिप्ट वाक्य रचना इंटरनेट एक्सप्लोरर
- 8. स्ट्रिंग के लिए शब्द ऐरे
- 9. एक जावास्क्रिप्ट ऑब्जेक्ट के अंदर ऐरे?
- 10. क्रोम के साथ जावास्क्रिप्ट ऐरे छंटनी?
- 11. जावास्क्रिप्ट में ऑब्जेक्ट्स के ऐरे का संघ?
- 12. पास जावास्क्रिप्ट ऐरे -> PHP
- 13. जावास्क्रिप्ट छिपे हुए इनपुट ऐरे
- 14. ऐरे
- 15. जावास्क्रिप्ट वाक्य रचना (0, fn) (args)
- 16. जावास्क्रिप्ट वाक्य रचना: फ़ंक्शन कॉल और कोष्ठक
- 17. बहुआयामी ऐरे के लिए डेटाटेबल
- 18. HTML फॉर्म में चेकबॉक्स के लिए ऐरे
- 19. स्काला के लिए-समझ वाक्य रचना
- 20. MySQL वाक्य रचना के लिए अद्यतन
- 21. सूचकांक वाक्य के लिए सर्वश्रेष्ठ एल्गोरिदम
- 22. जावास्क्रिप्ट ऐरे: आइटमों की 'रेंज' प्राप्त करें
- 23. जावास्क्रिप्ट नया ऐरे और जुड़ें() विधि
- 24. क्यों वाक्य सिंटैक्स त्रुटि के लिए अपवाद फेंक रहा है?
- 25. ऐरे के लिए ऐरे का == फ़ंक्शन क्यों सही नहीं है (1,2) == ऐरे (1,2)?
- 26. जावास्क्रिप्ट में ",,," == ऐरे (4) क्यों करता है?
- 27. जावास्क्रिप्ट ऑब्जेक्ट लिटरेल्स एंड ऐरे लिटल्स
- 28. एक जावास्क्रिप्ट ऐरे से ऑब्जेक्ट निकालें?
- 29. नियमित अभिव्यक्तियों का ऐरे बनाना जावास्क्रिप्ट
- 30. जावास्क्रिप्ट में ऐरे (1) और नया ऐरे (1) के बीच क्या अंतर है?
नहीं इतनी गंभीरता से, लेकिन .. '[" Susy "," जॉन "," मेरी "]। में शामिल होने के (',')। विभाजन (/, एम /)। में शामिल होने के ('और एम'); ' – jAndy