gpt4 book ai didi

javascript - JSON 数据的 SQL 样式 JOIN

转载 作者:可可西里 更新时间:2023-11-01 01:24:14 25 4
gpt4 key购买 nike

有什么方法可以高效的join JSON数据吗?假设我们有两个 JSON 数据集:

{"COLORS":[[1,red],[2,yellow],[3,orange]]}

{"FRUITS":[[1,apple],[2,banana],[3,orange]]}

我想把它变成以下客户端:

{"NEW_FRUITS":[[1,apple,red],[2,banana,yellow],[3,orange,orange]]}

请记住,这里会有数以千计的记录,数据结构要复杂得多。 jQuery 和 vanilla javascript 都很好。还要记住,可能有没有水果的颜色和没有颜色的水果。

注意:为了简单起见,假设两个数据集的顺序相同,但第二个数据集可能有间隙。

最佳答案

Alasql JavaScript SQL 库在一行中完全满足您的需求:

 <script src="alasql.min.js"></script>
<script>
var data = { COLORS: [[1,"red"],[2,"yellow"],[3,"orange"]],
FRUITS: [[1,"apple"],[2,"banana"],[3,"orange"]]};

data.NEW_FRUITS = alasql('SELECT MATRIX COLORS.[0], COLORS.[1], FRUITS.[1] AS [2] \
FROM ? AS COLORS JOIN ? AS FRUITS ON COLORS.[0] = FRUITS.[0]',
[data.COLORS, data.FRUITS]);
</script>

你可以玩this example在 jsFiddle 中。

这是一个 SQL 表达式,其中:

  • SELECT - 选择运算符
  • MATRIX - 修饰符,whci 将结果集从对象数组转换为数组数组
  • 颜色。[0] - COLORS 数组的第一列等。
  • 水果。 1作为2 - 数组 FRUITS 的第二列将作为结果记录集中的第三列存储
  • 来自? AS COLORS - 来自 SQL 语句中名为 COLORS 的参数的数据数组
  • 加入? ON ... - 加入
  • [data.COLORS, data.FRUITS] - 带有数据数组的参数

关于javascript - JSON 数据的 SQL 样式 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7251163/

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