输入JSON如下:
{ "a":[1,2,3,[4,5,6], [7], [8,9], 10, 11] }
我希望输出为:
{ "a":[1,2,3,4,5,6,7,8,9,10,11] }
有什么可以为这个震动改造的。谢谢!
j8ag8udp1#
您可以应用连续的shift转换,首先将元素分隔为两个数组,其中一个数组包含子数组,另一个数组包含整数,即x和y数组。然后将它们合并,同时删除null值,并将字符串化的元素转换回整数,例如
x
y
null
[ { "operation": "shift", "spec": { "a": { "*": { "@": "x.[@1]", "*": "y.[]" } } } }, { "operation": "shift", "spec": { "*": { "*": { "$1": "@1" } } } }, { "operation": "shift", "spec": { "*": { "$": "@(0)" } } }, { "operation": "shift", "spec": { "*": { "*": { "@": "a" } } } }, { "operation": "modify-overwrite-beta", "spec": { "*": "=toInteger" } } ]
gg58donl2#
如果你需要不使用内建函数的解决方案,试试这个!显然编程是我们用逻辑解决问题,而不使用包和内建函数。注意:这个解决方案实际上是在Javascript中。我没有注意到标签。对不起
const temp = { a: [1, 2, 3, [4, 5, 6], [7], [8, 9], 10, 11] }; let items = []; temp.a.forEach((item) => { items = [ ...items, ...(item.constructor.name === "Array" ? item : [item]) ]; }); console.log(items);
2条答案
按热度按时间j8ag8udp1#
您可以应用连续的shift转换,首先将元素分隔为两个数组,其中一个数组包含子数组,另一个数组包含整数,即
x
和y
数组。然后将它们合并,同时删除null
值,并将字符串化的元素转换回整数,例如gg58donl2#
如果你需要不使用内建函数的解决方案,试试这个!显然编程是我们用逻辑解决问题,而不使用包和内建函数。
注意:这个解决方案实际上是在Javascript中。我没有注意到标签。对不起