碎片時間學(xué)編程「339]:驗(yàn)證數(shù)組是否包含在其他數(shù)組中

無論順序如何,檢查第一個數(shù)組的元素是否包含在第二個數(shù)組中。 在從第一個數(shù)組創(chuàng)建的 Set 上使用 for...of 循環(huán)。 使用 Array.prototype.some() 方法檢查第二個數(shù)組中是否包含所有不同的值。 使用 Array.prototype.filter() 方法比較兩個數(shù)組中每個不同值的出現(xiàn)次數(shù)。 如果第一個數(shù)組中任何元素的計數(shù)大于第二個數(shù)組中的任何元素的計數(shù),則返回 false,否則返回 true。
JavaScript
const isContainedIn = (a, b) => {
? for (const v of new Set(a)) {
? ? if (
? ? ? !b.some(e => e === v) ||
? ? ? a.filter(e => e === v).length > b.filter(e => e === v).length
? ? )
? ? ? return false;
? }
? return true;
};
示例:
isContainedIn([1, 4], [2, 4, 1]); // true
更多內(nèi)容請訪問我的網(wǎng)站:https://www.icoderoad.com
標(biāo)簽: