Javascript中的过滤数组
假设我有以下两个数组:Javascript中的过滤数组,javascript,Javascript,假设我有以下两个数组: var arrOne = [1, 4, 7]; var arrTwo = [1, 2, 3, 4, 5]; var arrThree = []; 我想对arrTwo进行写入,如果它包含的元素也在arrOne中,请将其从arrTwo中删除,并将其插入arrTwo中。因此,查看上述阵列,之后阵列的状态应如下所示: var arrOne = [1, 4, 7]; var arrTwo = [2, 3, 5]; var arrThree = [1, 4]; 有人能告诉我正确的
var arrOne = [1, 4, 7];
var arrTwo = [1, 2, 3, 4, 5];
var arrThree = [];
我想对arrTwo
进行写入,如果它包含的元素也在arrOne
中,请将其从arrTwo
中删除,并将其插入arrTwo
中。因此,查看上述阵列,之后阵列的状态应如下所示:
var arrOne = [1, 4, 7];
var arrTwo = [2, 3, 5];
var arrThree = [1, 4];
有人能告诉我正确的方向和最好的方法吗?如果提供了代码,我将非常感谢您提供一个逐步的解释,以便我能够理解发生了什么。一个简单的for循环,匹配indexOf和拼接匹配
var arrOne=[1,4,7];
var arrTwo=[1,2,3,4,5];
var-arrtree=[];
对于(var i=0;i=0{
arrtree.push(arrTwo[i]);
2.拼接(i,1);
我--;
}
}
log(arrOne、arrTwo、arrtree)
一个简单的for循环,与indexOf和拼接匹配匹配
var arrOne=[1,4,7];
var arrTwo=[1,2,3,4,5];
var-arrtree=[];
对于(var i=0;i=0{
arrtree.push(arrTwo[i]);
2.拼接(i,1);
我--;
}
}
log(arrOne、arrTwo、arrTwo)
查看库。arrOne中的所有元素也在arrTwo中,称为..intersection()
查看库。arrOne中的所有元素也在arrTwo中被称为。.intersection()
使用简单的while循环和方法
var arrOne=[1,4,7];
var arrTwo=[1,2,3,4,5];
var-arrtree=[];
//获取数组的长度
var l=两个长度;
//从末尾遍历数组
而(l--){
//检查arrOne中存在的值
if(arrOne.indexOf(arrtowo[l])>-1)
//如果存在,则将其拆下并插入
//三月初
arrThree.反移位(arrThree.拼接(l,1)[0])
}
控制台日志(arrTwo,arrTwo)代码>使用简单的while循环和方法
var arrOne=[1,4,7];
var arrTwo=[1,2,3,4,5];
var-arrtree=[];
//获取数组的长度
var l=两个长度;
//从末尾遍历数组
而(l--){
//检查arrOne中存在的值
if(arrOne.indexOf(arrtowo[l])>-1)
//如果存在,则将其拆下并插入
//三月初
arrThree.反移位(arrThree.拼接(l,1)[0])
}
控制台日志(arrTwo,arrTwo)代码>您好,您可以使用筛选功能筛选阵列。
试试下面的代码
var arrOne = [1, 4, 7];
var arrTwo = [2, 3, 5, 1];
var arrThree = [];
function checkValue(a) {
return !arrOne.indexOf(a);
}
function checkValue2(a) {
return arrThree.indexOf(a);
}
function myFunction() {
arrThree = arrTwo.filter(checkValue);
document.getElementById("demo").innerHTML = arrThree ;
arrTwo = arrTwo.filter(checkValue2);
document.getElementById("demo1").innerHTML = arrTwo;
}
您好,您可以使用过滤器功能来过滤阵列。
试试下面的代码
var arrOne = [1, 4, 7];
var arrTwo = [2, 3, 5, 1];
var arrThree = [];
function checkValue(a) {
return !arrOne.indexOf(a);
}
function checkValue2(a) {
return arrThree.indexOf(a);
}
function myFunction() {
arrThree = arrTwo.filter(checkValue);
document.getElementById("demo").innerHTML = arrThree ;
arrTwo = arrTwo.filter(checkValue2);
document.getElementById("demo1").innerHTML = arrTwo;
}
var arrOne=[1,4,7];
var arrTwo=[1,2,3,4,5];
var arrtree=diff(arrOne,arrTwo)//通过两个数组
控制台日志(ARR3);
功能差异(一,二){
forEach(函数(e1){//遍历第一个数组
forEach(函数(e2){//遍历第二个
if(e1==e2)//检查元素是否相等
two.pop(e2);//从第二个数组中删除
});
});
返回2;//返回新数组
}
var arrOne=[1,4,7];
var arrTwo=[1,2,3,4,5];
var arrtree=diff(arrOne,arrTwo)//通过两个数组
控制台日志(ARR3);
功能差异(一,二){
forEach(函数(e1){//遍历第一个数组
forEach(函数(e2){//遍历第二个
if(e1==e2)//检查元素是否相等
two.pop(e2);//从第二个数组中删除
});
});
返回2;//返回新数组
}
由于数组已排序,您可以并行读取它们:O(n)而不是O(n2)。不要使用库来解决这样一个简单的问题,这太过分了:-)
var i=0,j=0;
VarA=[1,4,7];
VarB=[1,2,3,4,5];
var c=[];
而(ib[j])j++;
否则c.推(b.拼接(j,1)[0]);
}
console.log(“a”+toString(a));
console.log(“b”+toString(b));
console.log(“c”+toString(c));
函数到字符串(v){
返回“[”+v.join(“+”)”;
}
由于数组已排序,您可以并行读取它们:O(n)而不是O(n2)。不要使用库来解决这样一个简单的问题,这太过分了:-)
var i=0,j=0;
VarA=[1,4,7];
VarB=[1,2,3,4,5];
var c=[];
而(ib[j])j++;
否则c.推(b.拼接(j,1)[0]);
}
console.log(“a”+toString(a));
console.log(“b”+toString(b));
console.log(“c”+toString(c));
函数到字符串(v){
返回“[”+v.join(“+”)”;
}
即使是简单的for
循环也可以使用,您的努力是什么?你可以从前面的问题中得到一个想法。甚至可以使用简单的for
循环,您的努力是什么?你可以从前面的问题中得到一个想法。