我对Kotlin中的多维数组有疑问。 如何以一般方式获得以下结果:
$factory->define(App\Models\Boopie::class, function (Faker $faker) {
return [
'thingOne' => 'red shirt',
'thingTwo' => 'blue shirt'
];
});
$factory->state(App\Models\Boopie::class, 'usiFlavored', function (Faker $faker) {
return [
'thingOne' => 'blue shirt',
'thingTwo' => 'red shirt'
];
});
通过将相同大小的数组中的array1,array2,array3的值(在列和行上)连接起来得到的结果:
val array1 = arrayOf(
arrayOf(1, 2, 3, 4),
arrayOf(5, 6, 7, 8),
arrayOf(9, 10, 11, 12)
)
val array2 = arrayOf(
arrayOf(11, 12, 13, 14),
arrayOf(15, 16, 17, 18),
arrayOf(19, 20, 21, 22)
)
val array3 = arrayOf(
arrayOf(21, 22, 23, 24),
arrayOf(25, 26, 27, 28),
arrayOf(29, 30, 31, 32)
)
....
result[0][0] = [array1[0][0], array2[0][0], array3[0][0]]
result[0][1] = [array1[0][1], array2[0][1], array3[0][1]]
result[2][0] = [array1[2][0], array2[2][0], array3[2][0]]
谢谢!
答案 0 :(得分:1)
您可以执行此操作。请注意,这假定所有数组和子数组的大小都相同。
+-----+---+
|value| v2|
+-----+---+
| 0| 0|
| 1| 2|
| 2| 4|
| 3| 6|
| 4| 8|
| 5| 10|
| 6| 12|
| 7| 14|
| 8| 16|
| 9| 18|
+-----+---+
答案 1 :(得分:0)
您可以使用flatten()
val result = arrayOf(array1, array2, array3).flatten().toTypedArray()
由于flatten
返回了一个列表,因此您可以调用toTypedArray()
以数组形式获取结果。这是更惯用的方式。