gpt4 book ai didi

javascript - 为每个数组返回 true 或 false 以与一个过滤器数组进行比较的问题

转载 作者:行者123 更新时间:2023-11-30 19:38:20 26 4
gpt4 key购买 nike

我需要将一个数组与一组数组(数组的数组)进行比较,并在每个具有过滤值和所有值的数组上返回true false 如果数组中甚至缺少一个过滤器数组。

我正在使用以下代码,这肯定不是正确的方法,因为我没有得到正确的结果

let selected = [];
let filter = ['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3'];

let data = [
['item-0', 'item-112', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3'],
['item-1', 'item-12', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3'],
['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-31'],
['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3'],
['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3', 'item-3'],
['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3', 'item-3', 'item-3', 'item-3']

];



function checkfilter(arr1, arr2) {
for (let i = 0; i < arr1.length; i++) {
for (let j = 0; j < arr2.length; j++) {
if(arr2[j].includes(arr1[i])){
selected.push('1');
}
else{
selected.push('0');
}
}
}
}
checkfilter(filter, data);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

最佳答案

尝试

data.map(a=> filter.every(f=>a.includes(f)));

let selected = [];
let filter = ['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3'];

let data = [
['item-0', 'item-112', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3'],
['item-1', 'item-12', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3'],
['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-31'],
['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3'],
['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3', 'item-3'],
['item-1', 'item-2', 'item-4', 'item-5', 'item-7', 'item-8', 'item-3', 'item-3', 'item-3', 'item-3']

];

function checkfilter(filter, data) {
return data.map(a=> filter.every(f=>a.includes(f)));
}

console.log(checkfilter(filter, data) );

关于javascript - 为每个数组返回 true 或 false 以与一个过滤器数组进行比较的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55695026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com