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

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

如何將多個元素移動到數(shù)組的開頭?

如何將多個元素移動到數(shù)組的開頭?

慕勒3428872 2021-06-16 13:45:31
我有一個將數(shù)組和字符串作為參數(shù)的函數(shù)。任務(wù)是檢查字符串是否出現(xiàn)在函數(shù)內(nèi),以及是否移到數(shù)組的第一個位置。function moveToFirstPlace(['pizza', 'Pasta', 'Burger', 'PiZZa', 'pizzA'],'pizza')在這個例子中,無論大寫還是小寫,所有比薩都必須移動到數(shù)組的開頭。
查看完整描述

3 回答

?
慕蓋茨4494581

TA貢獻1850條經(jīng)驗 獲得超11個贊

您可以對數(shù)組進行排序并檢查值并將這些值移到頂部。


function moveToFirstPlace(array, value) {

    return array.sort((a, b) => (b.toLowerCase() === value) - (a.toLowerCase() === value));

}


console.log(moveToFirstPlace(['pizza', 'Pasta', 'Burger', 'PiZZa', 'pizzA'],'pizza'));


查看完整回答
反對 回復(fù) 2021-06-18
?
肥皂起泡泡

TA貢獻1829條經(jīng)驗 獲得超6個贊

執(zhí)行此操作的一種方法是應(yīng)用于filter您的數(shù)組,一次用于識別匹配項,一次用于非匹配項。然后只需連接兩個結(jié)果:


function moveToFirstPlace(arr, str) {

    str = str.toLowerCase();

    const matches = arr.filter(elem => elem.toLowerCase() === str);

    const misses = arr.filter(elem => elem.toLowerCase() !== str);

    return matches.concat(misses);

}


var arr = moveToFirstPlace(['pizza', 'Pasta', 'Burger', 'PiZZa', 'pizzA'],'pizza');


console.log(arr);

這將保持匹配元素的原始順序。請注意,它不會改變原始數(shù)組,而是返回一個新數(shù)組作為結(jié)果。


您還可以使用更實用的方法reduce:


function moveToFirstPlace(arr, str) {

    str = str.toLowerCase();

    return arr.reduce((acc, elem) => (acc[+(elem.toLowerCase() === str)].push(elem), acc), [[], []])

              .reduce((a, b) => a.concat(b));

}


var arr = moveToFirstPlace(['pizza', 'Pasta', 'Burger', 'PiZZa', 'pizzA'],'pizza');


console.log(arr);

兩種解決方案都具有線性時間復(fù)雜度。


查看完整回答
反對 回復(fù) 2021-06-18
?
慕后森

TA貢獻1802條經(jīng)驗 獲得超5個贊

您可以使用push,并unshift伴隨著toLowerCase()建立一個新的陣列。


function moveToFirstPlace(items, key) {

  let result = []

  items.forEach(itm => {

    itm.toLowerCase() == key.toLowerCase() ? result.unshift(itm) : result.push(itm)

  })

  return result

}


console.log(moveToFirstPlace(['pizza', 'Pasta', 'Burger', 'PiZZa', 'pizzA'], 'pizza'))


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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