【发布时间】:2019-07-26 18:29:24
【问题描述】:
我想合并两个数组 array1 和 array2 并匹配列值。两个数组之间的绘图 ID 可能匹配也可能不匹配。匹配的列是array1中的Plot ID和array2中的Plotting ID。
主要是array1。 array1 中的列值应首先出现在预期输出中。
如果 array2 与 array1 不匹配,则使用零值合并 array2 列名
array1 = [
{"Date" => "2019-01-01", "Plot ID" => 234},
{"Date" => "2019-01-01", "Plot ID" => 235},
{"Date" => "2019-01-01", "Plot ID" => 236},
{"Date" => "2019-01-01", "Plot ID" => 237},
{"Date" => "2019-01-01", "Plot ID" => 238},
{"Date" => "2019-01-01", "Plot ID" => 239},
{"Date" => "2019-01-01", "Plot ID" => 240},
{"Date" => "2019-01-01", "Plot ID" => 241}
]
array2 = [
{"Date" => "2019-01-01", "Plotting ID" => 234, "size"=> 20, "visit" => 10, "price" => 103},
{"Date" => "2019-01-01", "Plotting ID" => 500, "size"=> 40, "visit" => 22, "price" => 233},
{"Date" => "2019-01-01", "Plotting ID" => 236, "size"=> 25, "visit" => 34, "price" => 423},
{"Date" => "2019-01-01", "Plotting ID" => 600, "size"=> 79, "visit" => 55, "price" => 234}
]
预期输出:
[
{"Date" => "2019-01-01", "Plot ID" => 234, "size"=> 20, "visit" => 10, "price" => 103},
{"Date" => "2019-01-01", "Plot ID" => 235, "size"=> 0, "visit" => 0, "price" => 0},
{"Date" => "2019-01-01", "Plot ID" => 236, "size"=> 25, "visit" => 34, "price" => 423},
{"Date" => "2019-01-01", "Plot ID" => 237, "size"=> 0, "visit" => 0, "price" => 0},
{"Date" => "2019-01-01", "Plot ID" => 238, "size"=> 0, "visit" => 0, "price" => 0},
{"Date" => "2019-01-01", "Plot ID" => 239, "size"=> 0, "visit" => 0, "price" => 0},
{"Date" => "2019-01-01", "Plot ID" => 240, "size"=> 0, "visit" => 0, "price" => 0},
{"Date" => "2019-01-01", "Plot ID" => 241, "size"=> 0, "visit" => 0, "price" => 0}
]
【问题讨论】:
-
[{"Date" => "2019-01-01", "Plot ID" => 234}, "size"=> 20, visit => 10, "price" => 103}]你确定要这样的结果吗? -
预期输出中有语法错误,中间有一个额外的
} -
你想要的方式有语法错误。
-
“Plot ID”和“Date”是否需要匹配才能将它们合并在一起?
-
您已经在 cmets 中回答了几个问题。请编辑您的问题以包含该信息,以使现在和将来的读者受益,他们不会阅读所有 cmets。这也将阻止额外的反对票。