Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 将一个数组中的值添加到另一个数组中(如果它是';t存在并从阵列中筛选它(如果存在)_Javascript_Arrays - Fatal编程技术网

Javascript 将一个数组中的值添加到另一个数组中(如果它是';t存在并从阵列中筛选它(如果存在)

Javascript 将一个数组中的值添加到另一个数组中(如果它是';t存在并从阵列中筛选它(如果存在),javascript,arrays,Javascript,Arrays,我有: const currentState = ['Godwin', 'Hadrada', 'Timujin', 'LaGrandBatard'] const selection = ['Atila', 'Godwin'] 如果第一个数组已经包含选择数组中的一个值,那么从第一个数组中删除该值的最佳方法是什么 更清楚地说,最终结果应该是: newArray = ['Hadrada', 'Timujin', 'LaGrandBatard', 'Atila'] const currentSta

我有:

const currentState = ['Godwin', 'Hadrada', 'Timujin', 'LaGrandBatard']
const selection = ['Atila', 'Godwin']
如果第一个数组已经包含选择数组中的一个值,那么从第一个数组中删除该值的最佳方法是什么

更清楚地说,最终结果应该是:

newArray = ['Hadrada', 'Timujin', 'LaGrandBatard', 'Atila']
const currentState=['Godwin','Hadrada','Timujin','LaGrandBatard']
常数选择=['Atila','Godwin']
设foo={}
currentState.forEach(条=>{
foo[bar]=真
})
selection.forEach(条=>{
如果(foo[bar]){
删除foo[bar]
}否则{
foo[bar]=真
}
})
const results=Object.keys(foo)

console.log(results)
此问题有许多可能的解决方案。这里有一个使用+:

const currentState=['Godwin','Hadrada','Timujin','LaGrandBatard'];
常数选择=['Atila','Godwin'];
const newState=selection.reduce((a,s)=>{
var i=a.indexOf(s);
如果(i==-1){
a、 推;
}否则{
a、 拼接(i,1);
}
返回a;
},[…当前状态];

console.log(…newState)你试过什么?StackOverflow不是免费的编码服务。在寻求帮助之前,试着自己解决这个问题。提示:嗯,免费编码服务?!那是一个地狱般的计划,我可以把它带到月球,然后带着它回来!我试过filter和for循环以及includes,但都不太合适。您所说的“如果第一个数组已经包含了值,则从该数组中移除该值”是什么意思。您能否更具体地为您发布的示例2数组添加所需的结果?