所以我正在尝试混合一堆数组。
例如,如果我有一个: array1 = ["Banana", "Orange", "Apple", "Mango"];
和
array2 = ["Saab", "Volvo", "BMW"];
我想得到
array3 = ["Banana Saab", "Banana Volvo", "Banana BMW", "Orange Saab", "Orange Volvo", "Orange BMW", "Apple Saab", "Apple Volvo", "Apple BMW", "Mango Saab", "Mango Volvo", "Mango BMW"]
好吧,我已经在 python 上做到了,但我很难理解如何在 React 上做到这一点。
对我来说,这就是它在 python 上的样子。它看起来很可怕,但效果很好,速度很快:
first_handle = [i for i in combination.first_column.split('n') if i] or "'"
second_handle = [i for i in combination.second_column.split('n') if i] or "'"
third_handle = [i for i in combination.third_column.split('n') if i] or "'"
fourth_handle = [i for i in combination.fourth_column.split('n') if i] or "'"
fifth_handle = [i for i in combination.fifth_column.split('n') if i] or "'"
sixth_handle = [i for i in combination.sixth_column.split('n') if i] or "'"
seventh_handle = [i for i in combination.seventh_column.split('n') if i] or "'"
eighth_handle = [i for i in combination.eighth_column.split('n') if i] or "'"
itog = ['{} {} {} {} {} {} {} {}'.format(x1, x2, x3, x4, x5, x6, x7, x8)
for x1 in first_handle for x2 in second_handle for x3 in third_handle
for x4 in fourth_handle for x5 in fifth_handle for x6 in sixth_handle for x7 in seventh_handle
for x8 in eighth_handle]
new_itog = set(itog)
那么有什么解决方案适合我吗?
我不要求你为我编写代码(但如果你:D,我会很高兴(
但是,您知道是否有任何示例或项目可以帮助我找到解决方案?
这与反应无关。这是一个简单的数组迭代。
const array1 = ["Banana", "Orange", "Apple", "Mango"]
const array2 = ["Saab", "Volvo", "BMW"]
const results = []
for(let item of array1){
for(let subitem of array2){
results.push(`${item} ${subitem}`)
}
}
console.log(results)
您可以使用嵌套地图和平面图
let array1 = ["Banana", "Orange", "Apple", "Mango"];
let array2 = ["Saab", "Volvo", "BMW"];
let final = array1.map(initial=> array2.map(val=> initial + ' ' + val)).flat()
console.log(final)
打字稿
let Array1: Array<string> = ["Banana", "Orange", "Apple", "Mango"];
let Array2: Array<string> = ["Saab", "Volvo", "BMW"];
var Assigned = (A1:Array<string>, A2:Array<string>): Array<string> => {
let A = [];A2.map(S => { A1.map(T => { A.push(`${T} ${S}`)}) });return A;
}
console.log(Assigned(Array1, Array2));
爪哇语
var Array1 = ["Banana", "Orange", "Apple", "Mango"];
var Array2 = ["Saab", "Volvo", "BMW"];
var Assigned = function (A1, A2) {
var A = [];
A2.map(function (S) { A1.map(function (T) { A.push(T + " " + S); }); });
return A;
};
console.log(Assigned(Array1, Array2));
输出
[
'Banana Saab', 'Orange Saab',
'Apple Saab', 'Mango Saab',
'Banana Volvo', 'Orange Volvo',
'Apple Volvo', 'Mango Volvo',
'Banana BMW', 'Orange BMW',
'Apple BMW', 'Mango BMW'
]