मैं Grep और फ़िल्टर के बीच अंतर के बारे में सोच रहा था:
फ़िल्टर:
चयनकर्ताओं से मिलान करने वाले तत्वों के सेट को कम करें जो चयनकर्ता से मेल खाते हैं या फ़ंक्शन का परीक्षण पास करते हैं।
Grep:
एक सरणी के तत्वों को ढूँढता है जो फ़िल्टर फ़ंक्शन को संतुष्ट करता है। मूल सरणी प्रभावित नहीं है।
ठीक है।
तो अगर मैं GREP में ऐसा करता हूं:
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
myNewArray= jQuery.grep(arr, function(n, i){
return (n != 5 && i > 4);
});
मैं भी कर सकता था:
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
myNewArray= $(arr).filter( function(n, i){
return (n != 5 && i > 4);
});
दोनों स्थितियों में मैं अभी भी मूल सरणी तक पहुँच सकता हूँ ...
तो ... अंतर कहां है?
.grep()है कि सामान्य सरणी प्रसंस्करण के लिए एक सहायक विधि है, जबकि.filter()आमतौर पर तत्व चयन को कम करने के लिए उपयोग किया जाता है। मुझे नहीं लगता कि.grep()एक jQuery ऑब्जेक्ट लौटाता है, और आप इसे चेन नहीं कर सकते (jQuery.fn.grepमौजूद नहीं है)।