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数组添加所需的结果?