Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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_Arrays - Fatal编程技术网

Javascript意外包含拆分的空数组筛选器输出

Javascript意外包含拆分的空数组筛选器输出,javascript,arrays,Javascript,Arrays,我正在尝试筛选id的数组中是否存在值id的结果 以下是数据变量: var data = [ { "transaksi": [ { "_id": "5acb747c9c2be225d995a8f1", "sebelum_jumlah_sortir": 1, "harga_produk": 50000, "kirim": 1,

我正在尝试筛选id的数组中是否存在值id的结果

以下是数据变量:

var data = [
    {
        "transaksi": [
            {
                "_id": "5acb747c9c2be225d995a8f1",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 50000,
                "kirim": 1,
                "pembelian": "5acb747c9c2be225d995a8f9"
            },
            {
                "_id": "5acb7a6a305ef72b7d542900",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 50000,
                "kirim": 1,
                "pembelian": "5acb7a6a305ef72b7d542908"
            }
        ],
        "_id": "5acb74239c2be225d995a8ee",
        "nama_produk": "Susu"
    },
    {
        "transaksi": [
            {
                "_id": "5acb747c9c2be225d995a8f2",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 20000,
                "kirim": 1,
                "pembelian": "5acb747c9c2be225d995a8f9"
            },
            {
                "_id": "5acb7a6a305ef72b7d542901",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 20000,
                "kirim": 1,
                "pembelian": "5acb7a6a305ef72b7d542908"
            }
        ],
        "_id": "5acb74279c2be225d995a8ef",
        "nama_produk": "Remot Tv"
    }
  ]
var ids = [
"5acb747c9c2be225d995a8f1",
"5acb747c9c2be225d995a8f2"
]
所选id变量:

var data = [
    {
        "transaksi": [
            {
                "_id": "5acb747c9c2be225d995a8f1",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 50000,
                "kirim": 1,
                "pembelian": "5acb747c9c2be225d995a8f9"
            },
            {
                "_id": "5acb7a6a305ef72b7d542900",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 50000,
                "kirim": 1,
                "pembelian": "5acb7a6a305ef72b7d542908"
            }
        ],
        "_id": "5acb74239c2be225d995a8ee",
        "nama_produk": "Susu"
    },
    {
        "transaksi": [
            {
                "_id": "5acb747c9c2be225d995a8f2",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 20000,
                "kirim": 1,
                "pembelian": "5acb747c9c2be225d995a8f9"
            },
            {
                "_id": "5acb7a6a305ef72b7d542901",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 20000,
                "kirim": 1,
                "pembelian": "5acb7a6a305ef72b7d542908"
            }
        ],
        "_id": "5acb74279c2be225d995a8ef",
        "nama_produk": "Remot Tv"
    }
  ]
var ids = [
"5acb747c9c2be225d995a8f1",
"5acb747c9c2be225d995a8f2"
]
过滤功能:

var filter = function(){
  for (id of ids){
    for (dataTransaksi of data){
        console.log(dataTransaksi.transaksi.filter(transaksi => {
        return transaksi._id == id
        }))
    }
  }
}
filter()
预期结果:

[
    {
        "transaksi": [
            {
                "_id": "5acb747c9c2be225d995a8f1",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 50000,
                "kirim": 1,
                "pembelian": "5acb747c9c2be225d995a8f9"
            }
          ]
    },
    {
        "transaksi": [
            {
                "_id": "5acb747c9c2be225d995a8f2",
                "sebelum_jumlah_sortir": 1,
                "harga_produk": 20000,
                "kirim": 1,
                "pembelian": "5acb747c9c2be225d995a8f9"
            }
          ]
    }
 ]
实际结果包括空和拆分:

谢谢。

您可以将
.filter()
对象.assign()一起使用,如下所示:

演示:

[代码>让数据<<代码>让数据=[{“交易”的意思是:“{”的意思是:“,,,,,,“sebelum-U-Ju姆拉赫·索提尔”:1,“哈格农产品:50000,”基里姆:1,“基里姆”:1,“佩里姆”:1,“佩贝利姆”:1,“Pe伯利安:1,”Pe伯利安:1,“Pebebebebe层::“,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,A8EE“,“nama-ProduUUUUUUUUUUUUUUU-ProduUUUUUUUU-ProduUUU-ProduUUUUUU-UUUU-UUUUU-ProUUUUU-ProDuUUUU-UUUUUU-UUU-ProUUUUU-UUUSU“:::::“SUSUSUSUSUSUSU“,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,C2BE225D995A8EF“,“nama_produk”:“远程电视”}], ids=[“5acb747c9c2be225d995a8f1”,“5acb747c9c2be225d995a8f2”]; 让结果=data.map( o=>Object.assign( {},o,{“transaksi”:o[“transaksi”].filter(o=>ids.includes(o[“\u id”])) ) ); 控制台日志(结果)
.as控制台包装{max height:100%!important;top:0;}
您可以将
.filter()
对象.assign()一起使用,如下所示:

演示:

[代码>让数据<<代码>让数据=[{“交易”的意思是:“{”的意思是:“,,,,,,“sebelum-U-Ju姆拉赫·索提尔”:1,“哈格农产品:50000,”基里姆:1,“基里姆”:1,“佩里姆”:1,“佩贝利姆”:1,“Pe伯利安:1,”Pe伯利安:1,“Pebebebebe层::“,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,A8EE“,“nama-ProduUUUUUUUUUUUUUUU-ProduUUUUUUUU-ProduUUU-ProduUUUUUU-UUUU-UUUUU-ProUUUUU-ProDuUUUU-UUUUUU-UUU-ProUUUUU-UUUSU“:::::“SUSUSUSUSUSUSU“,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,C2BE225D995A8EF“,“nama_produk”:“远程电视”}], ids=[“5acb747c9c2be225d995a8f1”,“5acb747c9c2be225d995a8f2”]; 让结果=data.map( o=>Object.assign( {},o,{“transaksi”:o[“transaksi”].filter(o=>ids.includes(o[“\u id”])) ) ); 控制台日志(结果)
。作为控制台包装{最大高度:100%!重要;顶部:0;}
var数据=[
{
“transaksi”:[
{
“_id”:“5acb747c9c2be225d995a8f1”,
“sebelum_jumlah_sortir”:1,
“哈尔加·普罗杜克”:50000,
“基里姆”:1,
“pembelian”:“5acb747c9c2be225d995a8f9”
},
{
“_id”:“5acb7a6a305ef72b7d542900”,
“sebelum_jumlah_sortir”:1,
“哈尔加·普罗杜克”:50000,
“基里姆”:1,
“pembelian”:“5acb7a6a305ef72b7d542908”
}
],
“_id”:“5acb74239c2be225d995a8ee”,
“nama_produk”:“Susu”
},
{
“transaksi”:[
{
“_id”:“5acb747c9c2be225d995a8f2”,
“sebelum_jumlah_sortir”:1,
“哈格·普罗杜克”:20000,
“基里姆”:1,
“pembelian”:“5acb747c9c2be225d995a8f9”
},
{
“_id”:“5acb7a6a305ef72b7d542901”,
“sebelum_jumlah_sortir”:1,
“哈格·普罗杜克”:20000,
“基里姆”:1,
“pembelian”:“5acb7a6a305ef72b7d542908”
}
],
“_id”:“5acb74279c2be225d995a8ef”,
“nama_produk”:“远程电视”
}
]
变量ID=[
“5acb747c9c2be225d995a8f1”,
“5acb747c9c2be225d995a8f2”
]
设res=data.filter(d=>ids.indexOf(d.\u id)=-1)
控制台日志(res)

var数据=[
{
“transaksi”:[
{
“_id”:“5acb747c9c2be225d995a8f1”,
“sebelum_jumlah_sortir”:1,
“哈尔加·普罗杜克”:50000,
“基里姆”:1,
“pembelian”:“5acb747c9c2be225d995a8f9”
},
{
“_id”:“5acb7a6a305ef72b7d542900”,
“sebelum_jumlah_sortir”:1,
“哈尔加·普罗杜克”:50000,
“基里姆”:1,
“pembelian”:“5acb7a6a305ef72b7d542908”
}
],
“_id”:“5acb74239c2be225d995a8ee”,
“nama_produk”:“Susu”
},
{
“transaksi”:[
{
“_id”:“5acb747c9c2be225d995a8f2”,
“sebelum_jumlah_sortir”:1,
“哈格·普罗杜克”:20000,
“基里姆”:1,
“pembelian”:“5acb747c9c2be225d995a8f9”
},
{
“_id”:“5acb7a6a305ef72b7d542901”,
“sebelum_jumlah_sortir”:1,
“哈格·普罗杜克”:20000,
“基里姆”:1,
“pembelian”:“5acb7a6a305ef72b7d542908”
}
],
“_id”:“5acb74279c2be225d995a8ef”,
“nama_produk”:“远程电视”
}
]
变量ID=[
“5acb747c9c2be225d995a8f1”,
“5acb747c9c2be225d995a8f2”
]
设res=data.filter(d=>ids.indexOf(d.\u id)=-1)

控制台日志(res)您不会将找到的对象推送到结果集

函数过滤器(){
var结果=[],
id,dataTransaksi;
用于(id的id){
用于(数据的数据传输){
结果.推送(…dataTransaksi.transaksi.filter(transaksi=>{
返回transaksi.\u id==id
}));
}
}
返回结果;
}
var数据=[{transaksi:[{id:“5acb747c9c2be225d995a8f1”,sebelum_jumlah_sortir:1,harga_produk:50000,kirim:1,pembelian:“5acb747c9c2be225d995a8f9”},id:“5acb7a6a305ef72