2013-12-13 8 views
6

चलो कहते हैं कि मैं इस सरणी है दो:जावास्क्रिप्ट: स्लाइस() के साथ सरणी से एक आइटम के अलावा सभी का चयन करें?

var myarray = [a, b, c, d, e]; 

मैं ग छोड़कर सरणी में हर आइटम का चयन करना चाहते हैं।

var myselection = myarray.slice(3,5); 

यह केवल डी और ई का चयन करता है। मुझे क्या करना होगा:

var myselection = myarray.slice(3,5) + myarray.slice(0,2); 

यह चयन करता है डी, ई, ए और बी, लेकिन उत्पादन के बाद से mySelection अब ई और एक के बीच में एक अल्पविराम के बिना लिखा है, एक चयनकर्ता के रूप में प्रयोग करने योग्य नहीं है: "d, ईए, बी "

क्या आप इसे हल करने का कोई तरीका जानते हैं? शायद नकारात्मक संख्या के साथ?

आपकी मदद के लिए बहुत बहुत धन्यवाद !!! ली

उत्तर

9

उपयोग concat:

myarray.slice(3,5).concat(myarray.slice(0,2)) 

इस सरणी [d,e,a,b] मूल्यांकन करता है।

बेशक

, यदि आप जानते हैं आप सिर्फ सूचकांक 2 के साथ सरणी तत्व निकालना चाहते हैं, तो कार्य करें:

myarray.splice(2,1) 

myarray अब [a,b,d,e] है।

1

उपयोग जोड़:

myArray.splice(key, 1); 

यह है कि अवांछित पंक्ति को हटा।

+1

यह महत्वपूर्ण है कि इस mutates मूल सरणी –

2

आप splice बजाय कर सकते हैं: नोट करने के लिए

arr = ['a','b','c','d','e']; 
arr.splice(2,1); 
--> arr == ['a','b','d','e']; 

आप slice प्रतिलिपि बनाने के लिए कर सकते हैं यदि आप करते मूल सरणी के साथ गड़बड़ नहीं करना चाहता तो splice

arr = ['a','b','c','d','e']; 
var selector = arr.slice(); 
selector.splice(2,1); 
--> selector == ['a','b','d','e']; 
+1

इसका दूसरा भाग आपके द्वारा पोस्ट किया गया है, arr = ['a', 'b', 'c', 'd', 'e']; var selector = arr.slice()। Splice (2,1); -> चयनकर्ता ['सी'] को पुन: पेश करेगा; –

+0

आप सही हैं। मैंने इसे सही बनाने के लिए संपादित किया। –

संबंधित मुद्दे