小程序
小游戏
企业微信
微信支付
扫描小程序码分享
有两个数组,data1与data2,都含有元素,两数组的元素结构不一样,每个元素都有一个id。现在需要比较两个数组各个元素的id,两个数组中id不相同的元素找出来,并将这些元素放进新数组data3.
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
const data1 = [
{ id: "123", x: 5 },
{ id: "456", x: 8 },
{ id: "789", x: 9 } //这个是两个数组id不同的元素,把他找出来赋给data3
]
const data2 =
[
{ id: "123", x: 5, y: 8 },
{ id: "456", x: 8, y: 9 }
let data3 = []
data1.forEach(item1 => {
var flag = true
data2.forEach(item2 => {
if (item1.id == item2.id){
flag = false
}
})
if(flag){
data3.push(item1)
console.log(data3)
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
for循环
我知道,但是我现在的for循环思路好像错了。想请教一下,大神
a=[{id=1,a=1,b=2},{id=1,a=1,b=2}]
b=[{id=1,c=1,d=2},{id=2,c=1,d=2}]
for(var i=0;i<a.length;i++){
for(var j=0;j<b.length;j++){
if(a[i].id != b[i].id){
进行你的操作
你想要的是这种吗?
不是,是这样的,比如:data1=[
{id="123",x=5},
{id="456",x=8},
{id="789",x=9} //这个是两个数组id不同的元素,把他找出来赋给data3
data2=
{id="123",x=5,y=8},
{id="456",x=8,y=9}
经过算法运算,达到data3=[
{id="789",x=9}
这个双for循环,是做不到的,踢不掉相同的元素
兄弟,你是开发吗?我只是给你提供一个思路,告诉你可以用双for得出结果。 你复制我下面的去看看是不是得到了相同的元素
var data1 = [
{ id:"123", x:5 },
{ id:"456", x:8 },
{ id:"789", x:9 }]
var data2 =
{ id:"123", x:5, y:8 },
{ id:"456", x:8, y:9 }
for (var i = 0; i < data1.length; i++) {
for (var j = 0; j < data2.length; j++) {
if (data1[i].id == data2[j].id) {
console.log(data2[j].id)
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
const data1 = [
{ id: "123", x: 5 },
{ id: "456", x: 8 },
{ id: "789", x: 9 } //这个是两个数组id不同的元素,把他找出来赋给data3
]
const data2 =
[
{ id: "123", x: 5, y: 8 },
{ id: "456", x: 8, y: 9 }
]
let data3 = []
data1.forEach(item1 => {
var flag = true
data2.forEach(item2 => {
if (item1.id == item2.id){
flag = false
}
})
if(flag){
data3.push(item1)
}
})
console.log(data3)
for循环
我知道,但是我现在的for循环思路好像错了。想请教一下,大神
a=[{id=1,a=1,b=2},{id=1,a=1,b=2}]
b=[{id=1,c=1,d=2},{id=2,c=1,d=2}]
for(var i=0;i<a.length;i++){
for(var j=0;j<b.length;j++){
if(a[i].id != b[i].id){
进行你的操作
}
}
}
你想要的是这种吗?
不是,是这样的,比如:data1=[
{id="123",x=5},
{id="456",x=8},
{id="789",x=9} //这个是两个数组id不同的元素,把他找出来赋给data3
]
data2=
[
{id="123",x=5,y=8},
{id="456",x=8,y=9}
]
经过算法运算,达到data3=[
{id="789",x=9}
]
这个双for循环,是做不到的,踢不掉相同的元素
兄弟,你是开发吗?我只是给你提供一个思路,告诉你可以用双for得出结果。 你复制我下面的去看看是不是得到了相同的元素
var data1 = [
{ id:"123", x:5 },
{ id:"456", x:8 },
{ id:"789", x:9 }]
var data2 =
[
{ id:"123", x:5, y:8 },
{ id:"456", x:8, y:9 }
]
for (var i = 0; i < data1.length; i++) {
for (var j = 0; j < data2.length; j++) {
if (data1[i].id == data2[j].id) {
console.log(data2[j].id)
}
}
}