gpt4 book ai didi

Javascript 查找两个二维数组之间的共同值

转载 作者:行者123 更新时间:2023-12-02 16:48:29 25 4
gpt4 key购买 nike

我有两个二维数组,例如:

var data_consumed_dollars = [[1356998400000, 0.030380282850000006], [1357002000000, 0.0395505288], [1357005600000, 0.04084797307500001]];

var data_solargeneration_dollars = [[1356998400000, 0.030972182850000006], [1357178400000, 0], [1357182000000, 0], [1357185600000, 0], [1357189200000, 0], [1356998400000, 0.030380282850000006]];

我需要找到这两个数组中的共同值。到目前为止我已经尝试过了

var ab = [];
var data_consumed_dollars_common = [];
for (var i = 0; i < data_consumed_dollars.length; i++) {
var a, b;
if (parseFloat(data_solargeneration_dollars[i][0]) > parseFloat(data_consumed_dollars[i][0])) {
a = data_consumed_dollars[i][0];
ab.push(data_consumed_dollars[i][0]);
}
else a = data_solargeneration_dollars[i][0];
b = data_solargeneration_dollars[i][1];

data_consumed_dollars_common.push([ a, b ]);
}

但是 data_consumed_dollars_common 没有返回所需的结果。

最佳答案

对于您的代码,我假设您正在寻求的是为两个数组中的每个 id 获取更大的值。

这并不完全是它们的交集。两个组的交集是一个包含两个原始组中都存在的元素的组。

首先,使用 Javascript,如果您采用基于类似 JSON 的对象的数据结构,则可能会更容易运行:

var data_consumed_dollars = { "1356998400000": 0.030380282850000006, "1357002000000": 0.0395505288, "1357005600000": 0.04084797307500001 };

var data_solargeneration_dollars = { "1357174800000": 0, "1357178400000": 0, "1357182000000": 0, "1357185600000": 0, "1357189200000": 0, "1356998400000": 0.030380282850000006 };

但是,这可能是有争议的,所以请记住它作为一个选项。

我认为,可能导致您的代码无法按您想要的方式工作的原因是您在 else 之后缺少 {},因此在每次迭代时,您推送到 b 的值始终是 data_solar Generation_dollars[i][1] ;

遗憾的是,这只能是一个假设,因为我实际上不确定您要什么......

关于Javascript 查找两个二维数组之间的共同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26905855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com