इतना जल्दी सवाल। क्या होगा यदि आपके पास वस्तुओं के दो सरणियाँ हैं और आप इन ऑब्जेक्ट सरणियों को 'संरेखित' करना चाहेंगे ताकि आप यह सुनिश्चित कर सकें कि प्रत्येक सरणी की वस्तुएँ अन्य सरणी के क्रम में हों? क्या होगा अगर आपको पता नहीं है कि सरणियों के अंदर किसी भी वस्तु की क्या कुंजी और मूल्य हैं ... बहुत कम क्या वे किस क्रम में भी हैं?
तो आपको अपने आदि के लिए एक 'वाइल्डकार्ड अभिव्यक्ति' की आवश्यकता है [].filter, [].mapआपको एक वाइल्ड कार्ड अभिव्यक्ति कैसे मिलती है?
var jux = (function(){
'use strict';
function wildExp(obj){
var keysCrude = Object.keys(obj),
keysA = ('a["' + keysCrude.join('"], a["') + '"]').split(', '),
keysB = ('b["' + keysCrude.join('"], b["') + '"]').split(', '),
keys = [].concat(keysA, keysB)
.sort(function(a, b){ return a.substring(1, a.length) > b.substring(1, b.length); });
var exp = keys.join('').split(']b').join('] > b').split(']a').join('] || a');
return exp;
}
return {
sort: wildExp
};
})();
var sortKeys = {
k: 'v',
key: 'val',
n: 'p',
name: 'param'
};
var objArray = [
{
k: 'z',
key: 'g',
n: 'a',
name: 'b'
},
{
k: 'y',
key: 'h',
n: 'b',
name: 't'
},
{
k: 'x',
key: 'o',
n: 'a',
name: 'c'
}
];
var exp = jux.sort(sortKeys);
console.log('@juxSort Expression:', exp);
console.log('@juxSort:', objArray.sort(function(a, b){
return eval(exp);
}));
आप प्रत्येक ऑब्जेक्ट में सभी कुंजियों के लिए बेहतर सामूहिक अभिव्यक्ति बनाने के लिए प्रत्येक फ़ंक्शन के लिए एक पुनरावृत्ति पर इस फ़ंक्शन का उपयोग कर सकते हैं, और फिर अपने सरणी को इस तरह फ़िल्टर कर सकते हैं।
यह एपीआई Juxtapose से एक छोटा सा स्निपेट है, जो मेरे पास लगभग पूरा है, जो ऐसा करता है, वस्तु समानता, छूट, वस्तु एकता और सरणी संक्षेपण। यदि ये ऐसी चीजें हैं जो आपको चाहिए या आपके प्रोजेक्ट के लिए कृपया टिप्पणी करें और मैं बाद में की तुलना में जल्द ही सुलभ को सुलभ बनाऊंगा।
उम्मीद है की यह मदद करेगा! मुबारक कोडिंग :)