在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; 
    }    
}