कैसे दो सरणियों के बीच अंतर खोजने के लिए जिसमें सरणियाँ नेस्टेड हैं? मैंने फिल्टर सहित विभिन्न तरीकों की कोशिश की लेकिन सफल नहीं हुआ। हमारे पास दो सरणियाँ हैं:

var arr1 = [ [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6]];
var arr2 = [ [1, 1], [1, 2], [1, 5]];

मुझे केवल उन तत्वों के साथ एक सरणी प्राप्त करने की आवश्यकता है जो परिणामस्वरूप पहली सरणी में मौजूद नहीं हैं: [[1, 3], [1, 4], [1, 6]]

0
me-and-viy 31 अक्टूबर 2019, 01:30

1 उत्तर

सबसे बढ़िया उत्तर

आप arr1 पर विधेय के साथ फ़िल्टर कर सकते हैं जिसमें some तत्व arr2 में जहां सभी आइटम मेल खाते हैं।

var arr1 = [ [1, 1], [1, 2, 3], [1, 3], [1, 4], [1, 5], [1, 6]];
var arr2 = [ [1, 1], [1, 2], [1, 5]];

let filtered = arr1.filter(a => 
   !arr2.some(a2 => a.length === a2.length && a2.every((n, i) => n === a[i] ))
)

console.log(filtered)

आप अतिरिक्त स्थान की कीमत पर इसे और अधिक कुशल बना सकते हैं यदि आपकी सूचियां इसकी गारंटी देने के लिए पर्याप्त लंबी हैं।

2
Mark 30 अक्टूबर 2019, 22:53