我有一个数组数组。每个嵌套数组包含两个逗号分隔值的成员。我想做的是将这些嵌套数组分成多个数组。
例如,如果我有以下数组数组......
console.log(mult(10)(3)(2).valueOf());
// 60
......我最终希望得到以下结论。
Array
(
[0] => Array
(
[a] => 'single value',
[b] => '1,2',
[c] => 'left, right'
],
[1] => Array
(
[a] => 'single value',
[b] => '4,5',
[c] => 'top, middle'
)
)
我可以通过一系列嵌套的foreach循环来实现这一点,但这似乎效率很低 - 特别是考虑到某些b和c值可以包含许多元素的事实。
Array
(
[0] => Array
(
[a] => 'single value',
[b] => '1',
[c] => 'left'
)
[1] => Array
(
[a] => 'single value',
[b] => '1',
[c] => 'right'
)
[2] => Array
(
[a] => 'single value',
[b] => '2',
[c] => 'left'
)
[3] => Array
(
[a] => 'single value',
[b] => '2',
[c] => 'right'
)
[4] => Array
(
[a] => 'single value',
[b] => '4',
[c] => 'top'
)
[5] => Array
(
[a] => 'single value',
[b] => '4',
[c] => 'bottom'
)
[6] => Array
(
[a] => 'single value',
[b] => '5',
[c] => 'top'
)
[7] => Array
(
[a] => 'single value',
[b] => '5',
[c] => 'bottom'
)
)
有没有更好的方法可以使用数组函数将它们拆分出来?
由于
答案 0 :(得分:0)
我认为您的解决方案没问题。在我的示例中,我使用递归函数来隐藏"其中一个嵌套循环并通过取消已处理的元素来保存一些内存(在示例中由array_shift完成)。
import gulp from 'gulp';
import { scripts } from './webpack';
import { server } from './server';
import { assets } from './tasks/assets';
export const dev = gulp.series( server )
export const build = gulp.series( scripts, assets )
export default dev