簡體   English   中英

使用來自其他 arrays 的元素創建一個新數組

[英]Create a new array using elements from other arrays

我有 4 個 arrays 如下所示

array1 = ["one", "two", "three"];
array2 = ["1", "2", "3"];
array3 = ["a", "b", "c"];
array4 = ["10", "20", "30"];

通過使用這些 arrays 的元素,我需要創建另一組 arrays 如下所示

oneArray = ["one", "1", "a", "10"];
twoArray = ["two", "2", "b", "20"];
threeArray = ["three", "3", "c", "30"];

有什么簡單的方法可以做到這一點嗎?

使用 lodash:

array1 = ["one", "two", "three"];
array2 = ["1", "2", "3"];
array3 = ["a", "b", "c"];
array4 = ["10", "20", "30"];

result = _.zip(array1, array2, array3, array

這應該給你:

[
  ["one", "1", "a", "10"],
  ["two", "2", "b", "20"],
  ["three", "3", "c", "30"]
]

是的,這很簡單

 const array1 = ["one", "two", "three"]; const array2 = ["1", "2", "3"]; const array3 = ["a", "b", "c"]; const array4 = ["10", "20", "30"]; const oneArray = [array1[0],array2[0],array3[0],array4[0]]; const twoArray = [array1[1],array2[1],array3[1],array4[1]]; const threeArray = [array1[2],array2[2],array3[2],array4[2]]; console.log([oneArray, twoArray, threeArray])

const array1 = ["one", "two", "three"];
const array2 = ["1", "2", "3"];
const array3 = ["a", "b", "c"];
const array4 = ["10", "20", "30"];

const newArr = [array1, array2, array3, array4]
const oneArray= newArr.map((arr) => arr[0]);
const twoArray= newArr.map((arr) => arr[1]);
const threeArray= newArr.map((arr) => arr[2]);

將 arrays 組合在一個陣列中並使用map 即使您的數組大小從 3 個元素增加到更多,這也應該有效。

 const array1 = ["one", "two", "three"]; const array2 = ["1", "2", "3"]; const array3 = ["a", "b", "c"]; const array4 = ["10", "20", "30"]; const all = [array1, array2, array3, array4]; const [oneArray, twoArray, threeArray] = all[0].map((_, i) => all.map(arr => arr[i])); console.log(oneArray); console.log(twoArray); console.log(threeArray);

試試這個代碼。 它會解決你的問題。

    array1 = ["one", "two", "three", "four", "five", "six" ];
    array2 = ["1", "2", "3", "4", "5", "6"];
    array3 = ["a", "b", "c", "e", "f", "g"];
    array4 = ["10", "20", "30", "40", "50", "60"]
    array5 = ["1", "2", "3", "4", "5", "6"]

    finalArray = [
    array1,
    array2,
    array3,
    array4,
    array5
    ];



 function joinNewArray(arrayList) {
            const combinedArray = [];
            let finalGeneratedArray = [];

            for(let i =0; i<= arrayList[0].length ; i++ ){

                for(let j = 0; j<= arrayList[0].length; j++){

                    if(arrayList[j]== undefined || arrayList[j][i] == undefined ) {
                         break;
                    }

                  finalGeneratedArray.push(arrayList[j][i]);       

                }  
                if(finalGeneratedArray.length > 0){
            combinedArray.push(finalGeneratedArray);
                }
            finalGeneratedArray = [];   

          }

      return  combinedArray;

    }

    const result =  joinNewArray(finalArray);
    console.log(result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM