第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

使用 JavaScript 混合數(shù)組

使用 JavaScript 混合數(shù)組

胡說叔叔 2022-01-01 20:42:54
混合多個(gè)數(shù)組的最佳方法是什么,如下圖所示,PS:我不知道每個(gè)數(shù)組的長度是多少數(shù)組將包含 +10000 個(gè)元素將有 3 個(gè)以上的數(shù)組我為它制定了一個(gè)解決方案,但我正在尋找任何更好的解決方案這是我自己的解決方案,我正在尋找更好的主意import { compact, flattenDeep } from "lodash/array";export const doTheMagic = master => {  const longest = master.reduce((p, c, i, a) => (a[p].length > c.length ? p : i), 0);  const mixed = master[longest].map((i, k) => {    return master.map((o, a) => {      if (master[a][k]) return master[a][k];    });  });  const flaten = flattenDeep(mixed);  return  compact(flaten);// to remove falsey values};const one = [1,2,3];const two = ['a','b','c','d','e'];const three = ['k','l','m','n'];const mix = doTheMagic([one,two,three]);console.log('mix: ', mix);
查看完整描述

3 回答

?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

您可以使用 lodash 作為您的解決方案。


const { flow, zip, flatten, filter} = _


const doTheMagic = flow(

  zip,

  flatten,

  filter

)


const one = [1, 2, 3]

const two = ['??', '??', '??', '??', '??', '??']

const three = ['foo', 'bar', 'wow', 'okay']


const result = doTheMagic(one, two, three)


console.log(result)

<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>


處理不同長度的數(shù)組,并利用函數(shù)式編程來編寫優(yōu)雅的代碼。


這是一個(gè)要運(yùn)行的代碼筆:https ://codepen.io/matteodem/pen/mddQrwe


查看完整回答
反對 回復(fù) 2022-01-01
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

let a1 = [1, 2, 3, 4, 5];

let a2 = ["??", "??", "??", "??", "??", "??"];

let a3 = ['one', 'two', 'three', 'four', 'five'];


const doTheMagic = arrayOfArrays => {

  let maxLength = 0;

  let result = [];

  for (arr in arrayOfArrays) {

    maxLength = Math.max(maxLength, arrayOfArrays[arr].length);

  }

  for (let i = 0; i < maxLength; i++) {

    for (let j = 0; j < arrayOfArrays.length; j++) {

      if (arrayOfArrays[j][i]) {

        result.push(arrayOfArrays[j][i]);

      }

    }

  }

  return result;

}


console.log(doTheMagic([a1, a2, a3]));


查看完整回答
反對 回復(fù) 2022-01-01
?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊

這是我自己的解決方案,我正在尋找更好的主意


import { compact, flattenDeep } from "lodash/array";


export const doTheMagic = master => {

  const longest = master.reduce((p, c, i, a) => (a[p].length > c.length ? p : i), 0);

  const mixed = master[longest].map((i, k) => {

    return master.map((o, a) => {

      if (master[a][k]) return master[a][k];

    });

  });

  const flaten = flattenDeep(mixed);

  return  compact(flaten);// to remove falsey values

};

const one = [1,2,3];

const two = ['a','b','c','d','e'];

const three = ['k','l','m','n'];

const mix = doTheMagic([one,two,three]);

console.log('mix: ', mix);


查看完整回答
反對 回復(fù) 2022-01-01
  • 3 回答
  • 0 關(guān)注
  • 289 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號