Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果值为空,则删除对象_Javascript - Fatal编程技术网

Javascript 如果值为空,则删除对象

Javascript 如果值为空,则删除对象,javascript,Javascript,array1是一个对象数组,如下所示: 0: {Group: 1, names: "Lastname1, Firstname1", id: 20000001} 1: {Group: 2, names: "Lastname2, Firstname2", id: 20000002} 2: {Group: 3, names: "Lastname3, Firstname3", id: 20000003} 0: {id: "20000001", photo: ""} 1: {id: "20000001"

array1是一个对象数组,如下所示:

0: {Group: 1, names: "Lastname1, Firstname1", id: 20000001}
1: {Group: 2, names: "Lastname2, Firstname2", id: 20000002}
2: {Group: 3, names: "Lastname3, Firstname3", id: 20000003}
0: {id: "20000001", photo: ""}
1: {id: "20000001", photo: "/9j/4AAQSkZJRgABAQAAAQABAAD/4QB6RXhpZgAASUkqAAgAAA…9a1EtFKAnd09f/rVlwfdFbVw7LPIoOAGNYwjc/SIaxR//2Q=="}
2: {id: "20000002", photo: ""}
3: {id: "20000003", photo: ""}
4: {id: "20000004", photo: ""}
function getForId(photos, id) {
    var tmp = photos.filter(ph => ph.id == id).filter(ph => ph.photo != "");
    if (tmp.length == 0) return undefined;
    return tmp[0];
}

...

x = getForId(array2, "20000001");
array2也是一个对象数组,如下所示:

0: {Group: 1, names: "Lastname1, Firstname1", id: 20000001}
1: {Group: 2, names: "Lastname2, Firstname2", id: 20000002}
2: {Group: 3, names: "Lastname3, Firstname3", id: 20000003}
0: {id: "20000001", photo: ""}
1: {id: "20000001", photo: "/9j/4AAQSkZJRgABAQAAAQABAAD/4QB6RXhpZgAASUkqAAgAAA…9a1EtFKAnd09f/rVlwfdFbVw7LPIoOAGNYwjc/SIaxR//2Q=="}
2: {id: "20000002", photo: ""}
3: {id: "20000003", photo: ""}
4: {id: "20000004", photo: ""}
function getForId(photos, id) {
    var tmp = photos.filter(ph => ph.id == id).filter(ph => ph.photo != "");
    if (tmp.length == 0) return undefined;
    return tmp[0];
}

...

x = getForId(array2, "20000001");
我想获取基于array1的特定id的照片值。我的array2可以有重复的id值,因此我想忽略带有空字符串的值

因此,在一天结束时,我想返回类似
var image='/9j/4AAQSKZJRGABAQAAAQABAD/4QB6R…“

您可以使用它来获取所需的值。它将返回找到的第一个值。空字符串在javascript中为falser,因此您可以编写查找回调,如下所示:

var array2 = [{id: "20000001", photo: ""},
{id: "20000001", photo: "/9j/4AAQSkZJRgABAQAAAQABAAD/4QB6RXhpZgAASUkqAAgAAA…9a1EtFKAnd09f/rVlwfdFbVw7LPIoOAGNYwjc/SIaxR//2Q=="},
{id: "20000002", photo: ""},
{id: "20000003", photo: ""},
{id: "20000004", photo: ""}];

var result = array2.filter(function(a){ return a.photo }).map(a => a.photo);
让arr=[
{id:“2000001”,照片:},
{id:“2000001”,照片:“/9j/4AAQSKZJRGABAQAAAQABAD/4QB6RXhpZgAASUkqAAgAAA…9AETFKAND09F/RVLWFDFFBVW7LPIOAGNYWJC/SIaxR//2Q==”,
{id:“2000002”,照片:},
{id:“2000003”,照片:},
{id:“2000004”,照片:}
]
let found=arr.find(item=>item.photo&&item.id==='2000001')
console.log(found.photo)
让arr=[{
id:“2000001”,
照片:“
},
{
id:“2000001”,
照片:“/9j/4AAQSKZJRGABAQAAAQABAD/4QB6RXhpZgAASUkqAAgAAA…9AETFKAND09F/RVLWFDFFBVW7LPIOAGNYWJC/SIaxR//2Q=”
},
{
id:“2000002”,
照片:“
},
{
id:“2000003”,
照片:“
},
{
id:“2000004”,
照片:“
}
]
函数findItemByID(arr,id){
返回arr.find((photoObj)=>{
返回photoObj.photo.trim().length!==0&&photoObj.id==id
})
}
设photoObj=finditembyd(arr,“2000001”);

控制台日志(photoObj.photo)尝试以下方法:

0: {Group: 1, names: "Lastname1, Firstname1", id: 20000001}
1: {Group: 2, names: "Lastname2, Firstname2", id: 20000002}
2: {Group: 3, names: "Lastname3, Firstname3", id: 20000003}
0: {id: "20000001", photo: ""}
1: {id: "20000001", photo: "/9j/4AAQSkZJRgABAQAAAQABAAD/4QB6RXhpZgAASUkqAAgAAA…9a1EtFKAnd09f/rVlwfdFbVw7LPIoOAGNYwjc/SIaxR//2Q=="}
2: {id: "20000002", photo: ""}
3: {id: "20000003", photo: ""}
4: {id: "20000004", photo: ""}
function getForId(photos, id) {
    var tmp = photos.filter(ph => ph.id == id).filter(ph => ph.photo != "");
    if (tmp.length == 0) return undefined;
    return tmp[0];
}

...

x = getForId(array2, "20000001");
您可以(通过
Array.map
)映射主数组,并对每个项目使用
Array.find
获取其
照片。然后按如下方式分配给当前项:

0: {Group: 1, names: "Lastname1, Firstname1", id: 20000001}
1: {Group: 2, names: "Lastname2, Firstname2", id: 20000002}
2: {Group: 3, names: "Lastname3, Firstname3", id: 20000003}
0: {id: "20000001", photo: ""}
1: {id: "20000001", photo: "/9j/4AAQSkZJRgABAQAAAQABAAD/4QB6RXhpZgAASUkqAAgAAA…9a1EtFKAnd09f/rVlwfdFbVw7LPIoOAGNYwjc/SIaxR//2Q=="}
2: {id: "20000002", photo: ""}
3: {id: "20000003", photo: ""}
4: {id: "20000004", photo: ""}
function getForId(photos, id) {
    var tmp = photos.filter(ph => ph.id == id).filter(ph => ph.photo != "");
    if (tmp.length == 0) return undefined;
    return tmp[0];
}

...

x = getForId(array2, "20000001");
const data=[{Group:1,name:“Lastname1,Firstname1”,id:2000001},{Group:2,name:“Lastname2,Firstname2”,id:2000002},{Group:3,name:“Lastname3,Firstname3”,id:2000003}]
const images=[{id:“2000001”,照片:“},{id:“2000001”,照片:“/9j/4AAQSKZJRGABAAQAAAQAAAD/4QB6RXHPZGAASUQAAGAAA…9A1ETFBKAND09F/RVLWFFBVW7LPIOAGNYWJC/SIaxR//2Q=”,{id:“2000002”,照片:“}]
const result=data.map(x=>{
让img=images.find(i=>x.id==i.id&&i.photo!='')
if(img)Object.assign(x,{photo:img.photo})
返回x
})

console.log(结果)
使用数组的
过滤器()。阅读此处:…如果您仍然有问题,请返回我们。您可以循环它并仅在值不为空时获取,然后如果您对一个值满意,请退出循环。请您帮助我,我使用了您的实现。