Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查数组中的元素是否等于其他数组中的元素_Javascript - Fatal编程技术网

Javascript 检查数组中的元素是否等于其他数组中的元素

Javascript 检查数组中的元素是否等于其他数组中的元素,javascript,Javascript,我想检查一个数组中的值和间隔值是否与另一个数组相等,我需要不相等的新值数组,我就是这样做的: 设值=[{ id:1, 价值:2, 间隔时间:15 }, { id:2, 数值:10, 间隔时间:11 }, { id:6, 价值:2, 间隔时间:12 }, { id:5, 价值:2, 间隔时间:33 }, { id:1, 价值:33, 间隔时间:11 } ]; 设原始值=[{ id:1, 价值:2, 间隔时间:10 }, { id:2, 数值:10, 间隔时间:11 }, { id:6, 数值:1

我想检查一个数组中的值和间隔值是否与另一个数组相等,我需要不相等的新值数组,我就是这样做的:

设值=[{ id:1, 价值:2, 间隔时间:15 }, { id:2, 数值:10, 间隔时间:11 }, { id:6, 价值:2, 间隔时间:12 }, { id:5, 价值:2, 间隔时间:33 }, { id:1, 价值:33, 间隔时间:11 } ]; 设原始值=[{ id:1, 价值:2, 间隔时间:10 }, { id:2, 数值:10, 间隔时间:11 }, { id:6, 数值:12, 间隔时间:12 }, { id:5, 价值:2, 间隔时间:12 }, { id:1, 价值:33, 间隔时间:13 } ]; 让数据=值。concertiginalvalues .filterval,i,arr=>{ 返回arr.findIndexv=>v.interval==val.interval | | v.value==val.value==i; };
控制台日志数据 如果originalValues数组中有符合条件的元素,则必须获取所有值并过滤每个值

values.filter(v=>!originalValues.some(o=>o.interval===v.interval && o.value === v.value))

如果每个数组中没有太多的项,那也没关系,但是如果有两个多的项,请小心,它会为值数组中的每个项循环原始值

您可以通过获取不需要的元组来过滤对象

const getKey=keys=>object=>keys.mapk=>object[k]。加入“|”; 让value=[{id:1,value:2,interval:15},{id:2,value:10,interval:11},{id:6,value:2,interval:12},{id:5,value:2,interval:33},{id:1,value:33,interval:11}], originalValues=[{id:1,value:2,interval:10},{id:2,value:10,interval:11},{id:6,value:12,interval:12},{id:5,value:2,interval:12},{id:1,value:33,interval:13}], key=getKey['value','interval'], SEED=新的SetoriginalValues.mapkey, 结果=values.filtero=>!哈斯基奥; console.logresult;
.as console wrapper{max height:100%!important;top:0;}在注释中,您只提到了不在originalValues中的值中的项 那就这样试试吧

values.filter(i => originalValues.findIndex(v => v.interval === i.interval && v.value === i.value) === -1)

请添加想要的结果。您是否希望从值和原始值中获得其他值以外的所有内容,或者仅来自不在原始值中的值的项,或者仅来自不在值中的原始值的项?仅来自不在原始值中的值的项originalValues@user122222如果您需要原始数组中的值,那么为什么要连接这两个数组?@onik请努力解释您的答案。所采取的方法以及为什么它可能比其他方法更好。仅仅发布一段代码并不理想。请注意,您已经收到两张反对票。你对它改进得越多,它受到好评的机会就越大。