![](/img/trans.png)
[英]Quickest way to check if 2 arrays contain same values in javascript
[英]JavaScript: Check if all arrays contain same value?
我有以下数组
// Exmaple
[
['morning', 'afternoon'],
['morning'],
['morning', 'afternoon'],
['morning', 'afternoon'],
['morning']
]
我可能有一个同一个,但是每个下午都有下午。 我需要检查所有数组中是否都存在给定值,例如,如果我检查“ morning”,它应该返回true
,但是如果我检查“ afternoonon”,它应该返回false
因为在上面的示例数组中,并非所有数组都具有'下午'
array.every(day => day.includes("morning")) // true
您可以使用.every()
和.includes()
方法:
let data = [ ['morning', 'afternoon'], ['morning'], ['morning', 'afternoon'], ['morning', 'afternoon'], ['morning'] ]; let checker = (arr, str) => arr.every(a => a.includes(str)); console.log(checker(data, 'morning')); console.log(checker(data, 'afternoon'));
您可以使用Array.every和Array.includes
let arr = [['morning', 'afternoon'],['morning'],['morning', 'afternoon'],['morning', 'afternoon'],['morning']]; console.log(arr.every(v => v.includes('morning'))); // true console.log(arr.every(v => v.includes('afternoon'))); // false
use .every()
array.every(d => d.includes("morning")) // true
array.every(d => d.includes("afternoon")) //false
您可以使用Array.prototype.every()并强制boolean
化Array.prototype.find()的结果,该结果返回满足提供的测试功能的数组中第一个元素的值。 否则返回undefined。
码:
const data = [['morning', 'afternoon'],['morning'],['morning', 'afternoon'],['morning','afternoon'],['morning']]; const checker = (arr, str) => arr.every(a => !!a.find(a => str === a)); console.log(checker(data, 'morning')); console.log(checker(data, 'afternoon'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.