在JavaScript中将项目从一个数组添加到另一个数组之前比较两个数组
我有两个数组在JavaScript中将项目从一个数组添加到另一个数组之前比较两个数组,javascript,arrays,Javascript,Arrays,我有两个数组 var addFrom = ["orange", "banana", "watermelon", "lemon", "peach"]; var addTo = ["pear", "tangerine", "grape", "orange", "blueberry"]; 我想检查“addFrom”数组中的第一项是否已经在“addTo”数组中 如果“addTo”数组没有“addFrom”数组中的第一项,我想将此项推送到“addTo”数组中 但是,如果“addFrom”数组中的第一项已
var addFrom = ["orange", "banana", "watermelon", "lemon", "peach"];
var addTo = ["pear", "tangerine", "grape", "orange", "blueberry"];
我想检查“addFrom”数组中的第一项是否已经在“addTo”数组中
如果“addTo”数组没有“addFrom”数组中的第一项,我想将此项推送到“addTo”数组中
但是,如果“addFrom”数组中的第一项已经在“addTo”数组中,我想继续处理“addFrom”数组中的第二项,并执行相同的操作,直到在“addFrom”数组中找到不在“addTo”数组中的项,然后将其推送到“addTo”数组中。我只想在“addTo”数组中添加一项
因此,我希望“addTo”数组如下所示:
var addTo = ["pear", "tangerine", "grape", "orange", "blueberry", "banana"];
如何在JavaScript中实现这一点?您可以使用forEach
var addFrom = ["orange", "banana", "watermelon", "lemon", "peach"];
var addTo = ["pear", "tangerine", "grape", "orange", "blueberry"];
var inserted = false;
addFrom.forEach(function(v,i){
if(inserted)
return;
if(addTo.indexOf(v)<0)
{
addTo.push(v);
inserted = true;
}
})
var addFrom=[“橙色”、“香蕉”、“西瓜”、“柠檬”、“桃子”];
var addTo=[“梨”、“橘子”、“葡萄”、“橘子”、“蓝莓”];
插入的var=false;
addFrom.forEach(函数(v,i){
如果(插入)
返回;
if(addTo.indexOf(v)如果一项不在addTo
数组中,则可以使用并停止迭代。
var addFrom=[“橙色”、“香蕉”、“西瓜”、“柠檬”、“桃子”],
addTo=[“梨”、“橘子”、“葡萄”、“橘子”、“蓝莓”];
addFrom.some(函数(a){
if(!~addTo.indexOf(a)){
加推(a);
返回true;
}
});
document.write(''+JSON.stringify(addTo,0,4)+'');
var addFrom=[“橙色”、“香蕉”、“西瓜”、“柠檬”、“桃子”];
var addTo=[“梨”、“橘子”、“葡萄”、“橘子”、“蓝莓”];
对于(i=0;i
在这里,一个简单的循环似乎是最好的方法(我在期间使用了)
var i=-1,len=addFrom.length;
而(++i
容易的豌豆
var addFrom = ["orange", "banana", "watermelon", "lemon", "peach"];
var addTo = ["pear", "tangerine", "grape", "orange", "blueberry"];
for(var i = 0; i < addFrom.length; i++){
if(addTo.indexOf(addFrom[i]) === -1 ){
addTo.push(addFrom[i]);
break;
}
}
for(索引=0;索引
var addFrom=[“橙色”、“香蕉”、“西瓜”、“柠檬”、“桃子”];
var addTo=[“梨”、“橘子”、“葡萄”、“橘子”、“蓝莓”];
对于(var i=0;i
请添加想要的结果。根据问题:“我只想向“addTo”数组添加一项”。此代码将从addFrom
推送所有缺少的元素。对不起,是我的错,我编辑了answerCheck控制台浏览器!您在第一次推送后忘记断开循环确保var
您的循环变量。
var i = -1, len = addFrom.length;
while (++i < len) {
if (addTo.indexOf(addFrom[i]) === -1) {
addTo.push(addFrom[i]);
break;
}
}
for (index = 0; index < addFrom.length; ++index) {
if (addTo.indexOf(addFrom[index]) === -1){
addTo.push(addFrom[index]);
break;
}
}
var addFrom = ["orange", "banana", "watermelon", "lemon", "peach"];
var addTo = ["pear", "tangerine", "grape", "orange", "blueberry"];
for(var i = 0; i < addFrom.length; i++){
if(addTo.indexOf(addFrom[i]) === -1 ){
addTo.push(addFrom[i]);
break;
}
}