मेरे पास सरणियों का निम्नलिखित सेट है और मैं यह जांचना चाहता हूं कि कौन सी सरणी निम्नलिखित सरणियों द्वारा शर्त को पूरा करती है must_inculde, optional_include, must_not_include
- प्रत्येक सरणी में
must_inculde
के अक्षर शामिल होने चाहिए। - सरणी में कोई भी
must_not_include
नहीं होना चाहिए। optional_include
में मानmust_inculde
के अतिरिक्त हो सकते हैं लेकिन वे जरूरी नहीं हैं।
my_arr = [['a', 'c', 'd', 'b', 'e'],
['a', 'e'],
['a', 'c', 'f'],
['a', 'c', 'b'],
['a', 'b', 'd'],
['a', 'b', 'd', 'c']]
must_inculde = ['a', 'b']
optional_include = ['c', 'd']
must_not_include = ['f']
1
dasdasd
24 सितंबर 2020, 00:33
2 जवाब
सबसे बढ़िया उत्तर
विकल्प दिलचस्प नहीं हैं क्योंकि जानकारी के इस टुकड़े के कारण एक सरणी कभी विफल नहीं हो सकती है: यदि इसमें वे सभी तत्व नहीं हैं तो यह ठीक है, यदि ऐसा होता है, तो यह भी ठीक है।
तो आपको केवल शामिल और शामिल नहीं की जांच करने की आवश्यकता है, और इसके लिए आप every
और includes
सरणी विधियों का उपयोग कर सकते हैं:
let my_arr = [['a', 'c', 'd', 'b', 'e'],
['a', 'e'],
['a', 'c', 'f'],
['a', 'c', 'b'],
['a', 'b', 'd'],
['a', 'b', 'd', 'c']]
let must_include = ['a', 'b']
let optional_include = ['c', 'd']
let must_not_include = ['f']
let result = my_arr.filter(arr =>
must_include.every(val => arr.includes(val))
&& must_not_include.every(val => !arr.includes(val))
);
console.log(result);
3
trincot
24 सितंबर 2020, 00:42
यह आपको "कथनों" के लिए true
या false
के साथ एक मिरर ऐरे देगा:
var my_arr = [['a', 'c', 'd', 'b', 'e'],
['a', 'e'],
['a', 'c', 'f'],
['a', 'c', 'b'],
['a', 'b', 'd'],
['a', 'b', 'd', 'c']];
var must_inculde = ['a', 'b'];
var optional_include = ['c', 'd'];
var must_not_include = ['f'];
var mirror=my_arr.map(item=>({
must_inculde:must_inculde.reduce((acc,element)=>{acc=acc&&item.includes(element);return acc;},true),
optional_include:item.some(element=>optional_include.includes(element)),
must_not_include:!item.some(element=>must_not_include.includes(element))
}));
console.log(mirror);
.as-console-wrapper { max-height: 100% !important; top: 0; }
1
iAmOren
24 सितंबर 2020, 01:06