दिलचस्प पोस्ट
जेएसपी पृष्ठ से ऑब्लेट पास करने के लिए ऑब्लेट पास करना क्रियाकलापों के बीच विभाजित अवयव को बनाए रखें पीडीएफ के शीर्ष पर <div> परत प्रारंभिक सूची दृश्य स्टूडियो 2012 में वेक्टर के साथ काम नहीं कर रही है? पायथन में स्ट्रिंग से गैर प्रिंट करने योग्य वर्ण स्ट्रिपिंग जावा इंटरफेस? एंड्रॉइड स्टूडियो से हस्ताक्षर किए एपीके उत्पन्न नहीं कर सकते "कामकाज के लिए निष्पादन विफल ': पैकेजरिलीज' ' फास्ट लॉग आधार 2 छत की गणना करें पेपरक्लिप के साथ कई फाइल अपलोड करना मार्स के नुकसान (एकाधिक सक्रिय परिणाम समूह)? एक <चयन करें> jQuery का उपयोग करने के लिए विकल्प जोड़ना? आप विज़ुअल स्टूडियो समाधान में कोड की लाइनों को कैसे गिनाते हैं? रेल कंसोल में एसक्यूएल प्रश्नों को कैसे दिखाया जाए? आम गेटवे इंटरफ़ेस (सीजीआई) क्या है? स्तंभ नाम वाले कई स्तंभों का सबसे बड़ा मूल्य?

JQuery का उपयोग करते हुए सरणी से विशिष्ट मान को कैसे निकालें

मेरे पास एक सरणी है जो इस तरह दिखती है: var y = [1, 2, 3];

मैं 2 से सरणी y को निकालना चाहूंगा।

JQuery का उपयोग करके मैं किसी विशेष मान को कैसे निकाल सकता हूं? मैंने pop() की कोशिश की है लेकिन वह हमेशा अंतिम तत्व को निकालती है

Solutions Collecting From Web of "JQuery का उपयोग करते हुए सरणी से विशिष्ट मान को कैसे निकालें"

एक काम JSFIDDLE

आप ऐसा कुछ कर सकते हैं:

 var y = [1, 2, 2, 3, 2] var removeItem = 2; y = jQuery.grep(y, function(value) { return value != removeItem; }); 

परिणाम:

 [1, 3] 

http://snipplr.com/view/14381/remove-item-from-array-with-jquery/

JQuery के साथ, आप इस तरह एक एकल-लाइन ऑपरेशन कर सकते हैं:

उदाहरण: http://jsfiddle.net/HWKQY/

 y.splice( $.inArray(removeItem, y), 1 ); 

देशी .splice() और jQuery का $.inArray() का उपयोग करता है

आप underscore.js का उपयोग कर सकते हैं यह वास्तव में चीजों को सरल बनाता है

आपके मामले में जो कोड आपको सही करना होगा –

 _.without([1,2,3], 2); 

और परिणाम [1,3] होगा

यह उस कोड को कम कर देता है जिसे आप लिखते हैं।

jQuery.filter विधि उपयोगी है यह Array वस्तुओं के लिए उपलब्ध है

 var arr = [1, 2, 3, 4, 5, 5]; var result = arr.filter(function(elem){ return elem != 5; });//result -> [1,2,3,4] 

http://jsfiddle.net/emrefatih47/ar0dhvhw/

एक्स्केस्क्रिप्ट 6 में:

 let values = [1,2,3,4,5]; let evens = values.filter(v => v % 2 == 0); alert(evens); 

https://jsfiddle.net/emrefatih47/nnn3c2fo/

नहीं एक jQuery तरीका है लेकिन … क्यों आसान तरीका का उपयोग नहीं करते निम्न सरणी से 'c' निकालें

 var a = ['a','b','c','d'] a.splice(a.indexOf('c'),1); >["c"] a ["a", "b", "d"] 

आप इसका उपयोग भी कर सकते हैं: (मेरे लिए नोट: ऑब्जेक्ट को न बदलें जिसे आप खुद नहीं रखते हैं )

 Array.prototype.remove = function(v) { this.splice(this.indexOf(v) == -1 ? this.length : this.indexOf(v), 1); } var a = ['a','b','c']; a.remove('c'); //value of "a" is now ['a','b'] 

जोड़ना आसान है एक। a.push('c')

 //This prototype function allows you to remove even array from array Array.prototype.remove = function(x) { var i; for(i in this){ if(this[i].toString() == x.toString()){ this.splice(i,1) } } } 

उपयोग करने का उदाहरण

 var arr = [1,2,[1,1], 'abc']; arr.remove([1,1]); console.log(arr) //[1, 2, 'abc'] var arr = [1,2,[1,1], 'abc']; arr.remove(1); console.log(arr) //[2, [1,1], 'abc'] var arr = [1,2,[1,1], 'abc']; arr.remove('abc'); console.log(arr) //[1, 2, [1,1]] 

इस प्रोटोटाइप फ़ंक्शन का उपयोग करने के लिए आपको इसे अपने कोड में पेस्ट करना होगा। फिर आप इसे 'डॉट नोटेशन' के साथ किसी भी सरणी में लागू कर सकते हैं:

 someArr.remove('elem1') 

सरणी में आइटम निकालें

 var arr = ["jQuery", "JavaScript", "HTML", "Ajax", "Css"]; var itemtoRemove = "HTML"; arr.splice($.inArray(itemtoRemove, arr), 1); 

जावास्क्रिप्ट में ऐसा करने का कोई मूल तरीका नहीं है। आप इसके बजाय एक पुस्तकालय का उपयोग कर सकते हैं या इसके लिए एक छोटे फ़ंक्शन लिख सकते हैं: http://ejohn.org/blog/javascript-array-remove/

आप इस तरह कार्य नहीं कर सकते हैं:

 var arr = [ 1 , 2 , 3 , 5 , 8]; var searchValue = 2; var newArr = $(arr).not([searchValue]).get(); 
 //in case somebody needs something like this: multidimensional array (two items) var ar = [[0,'a'],[1,'b'],[2,'c'],[3,'d'],[4,'e'],[5,'f']]; var removeItem = 3; ar = jQuery.grep(ar, function(n) { return n[0] != removeItem; //or n[1] for second item in two item array }); ar; 

मेरे पास ऐसी ही एक कार्य था जहां मुझे एक ही बार में ऑब्जेक्ट की संपत्ति के आधार पर एक से अधिक ऑब्जेक्ट को हटाने की आवश्यकता थी।

तो कुछ पुनरावृत्तियों के बाद मैं निम्नलिखित के साथ समाप्त होता है:

 list = $.grep(list, function (o) { return !o.IsDeleted }); 

मैं एक pick_and_remove() फ़ंक्शन के साथ ऐरे क्लास का विस्तार करता हूं, जैसे:

 var ArrayInstanceExtensions = { pick_and_remove: function(index){ var picked_element = this[index]; this.splice(index,1); return picked_element; } }; $.extend(Array.prototype, ArrayInstanceExtensions); 

हालांकि यह थोड़ा शब्दशः लग सकता है, अब आप संभवतः किसी भी सरणी पर pick_and_remove() को कॉल कर सकते हैं!

उपयोग:

 array = [4,5,6] //=> [4,5,6] array.pick_and_remove(1); //=> 5 array; //=> [4,6] 

आप इस सभी को पॉकेमन-थीम वाली क्रिया में यहां देख सकते हैं ।

ब्याह के साथ एक सरल समाधान है W3School बेंले वाक्य रचना के अनुसार निम्नलिखित है;

 array.splice(index, howmany, item1, ....., itemX) 

सूचकांक आवश्यक एक पूर्णांक जो निर्दिष्ट करता है कि किस स्थिति में आइटम को जोड़ने / निकालने के लिए, सरणी के अंत से स्थिति निर्दिष्ट करने के लिए नकारात्मक मानों का उपयोग करें

कितना आवश्यक निकाली जाने वाली वस्तुओं की संख्या यदि 0 पर सेट है, तो कोई आइटम नहीं हटाए जाएंगे

आइटम 1, …, आइटम वैकल्पिक सरणी में जोड़े जाने वाली नई वस्तुएं

इसे ध्यान में रखें, निम्नलिखित जेएस दी गई सरणी से एक या अधिक मिलान किए गए आइटम पॉप करेंगे, अन्यथा सरणी के अंतिम आइटम को नहीं हटाया जाएगा।

 var x = [1,2,3,4,5,4,4,6,7]; var item = 4; var startItemIndex = $.inArray(item, x); var itemsFound = x.filter(function(elem){ return elem == item; }).length; 

या

 var itemsFound = $.grep(x, function (elem) { return elem == item; }).length; 

तो अंतिम रूप में निम्नलिखित दिखना चाहिए

 x.splice( startItemIndex , itemsFound ); 

उम्मीद है की यह मदद करेगा।

 /** SUBTRACT ARRAYS **/ function subtractarrays(array1, array2){ var difference = []; for( var i = 0; i < array1.length; i++ ) { if( $.inArray( array1[i], array2 ) == -1 ) { difference.push(array1[i]); } } return difference; } 

फिर आप अपने कोड में कहीं भी फ़ंक्शन कॉल कर सकते हैं।

 var I_like = ["love", "sex", "food"]; var she_likes = ["love", "food"]; alert( "what I like and she does't like is: " + subtractarrays( I_like, she_likes ) ); //returns "Naughty :P"! 

यह सभी मामलों में काम करता है और इसके बाद के तरीकों की समस्याओं से बचा जाता है। उम्मीद है की वो मदद करदे!

उपयोगकर्ता 113716 के उत्तर का मेरा संस्करण। कोई मैच नहीं मिला है, तो वह एक मूल्य निकाल देता है, जो अच्छा नहीं है।

 var y = [1, 2, 3] var removeItem = 2; var i = $.inArray(removeItem,y) if (i >= 0){ y.splice(i, 1); } alert(y); 

यह अब एक आइटम निकालता है यदि मैच मिला है, 0 यदि कोई मेल नहीं मिला है।

यह काम किस प्रकार करता है:

  • $ .inArray (मान, सरणी) एक jQuery फ़ंक्शन है जो किसी array में value का पहला सूचकांक पाता है
  • उपरोक्त रिटर्न -1 यदि मान नहीं मिला है, तो जांचें कि हम हटाने से पहले एक वैध अनुक्रमणिका है। सूचकांक 1 को हटाना, इसका मतलब है कि आखिरी हटाना, जो यहां उपयोगी नहीं है।
  • .splice (इंडेक्स, गिनती) index से शुरू होने वाले मूल्यों की count संख्या को हटा देता है, इसलिए हमें सिर्फ 1 count चाहिए

वेनिला जावास्क्रिप्ट का उपयोग करके सरणी से 2 को सुरक्षित रूप से निकालने के लिए:

 // Define polyfill for browsers that don't natively support Array.indexOf() if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(searchElement, fromIndex) { var k; if (this===null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this), len = O.length >>> 0; if (len===0) return -1; var n = +fromIndex || 0; if (Math.abs(n)===Infinity) n = 0; if (n >= len) return -1; k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in O && O[k]===searchElement) return k; ++k; } return -1; }; } // Remove first instance of 2 from array if (y.indexOf(2) > -1) { y.splice(y.indexOf(2), 1); } /* To remove all instances of 2 from array, change 'if' to 'while': while (y.indexOf(2) > -1) { y.splice(y.indexOf(2), 1); } */ console.log(y); // Returns [1, 3] 

पॉलीफिल स्रोत: मोज़िला

पहले जांचता है कि तत्व सरणी में मौजूद है

 $.inArray(id, releaseArray) > -1 

ऊपर पंक्ति उस तत्व का सूचक देता है, अगर वह सरणी में मौजूद है, अन्यथा यह 1 रिटर्न देता है

  releaseArray.splice($.inArray(id, releaseArray), 1); 

यदि लाइन से ऊपर आता है तो यह तत्व सरणी से निकाल देगा यदि मिल जाए। तत्व को जांचने और तत्व को सरणी से निकालने के लिए नीचे दिए गए तर्क को जरूरी है।

  if ($.inArray(id, releaseArray) > -1) { releaseArray.splice($.inArray(id, releaseArray), 1); } else { releaseArray.push(id); }