如何在 react-redux 上使数组混合



所以我正在尝试混合一堆数组。

例如,如果我有一个: 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'
]

最新更新