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

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

如何在不使用 filter() 的情況下過濾數(shù)組?

如何在不使用 filter() 的情況下過濾數(shù)組?

繁花不似錦 2022-11-11 15:04:36
目標(biāo)是遍歷外循環(huán),然后遍歷內(nèi)循環(huán)。之后,我們需要過濾作為“elem”傳遞的參數(shù)。新數(shù)組 (newArr) 應(yīng)該返回一個(gè)沒有“elem”元素的數(shù)組。function filteredArray(arr, elem) {  let newArr = [];  for(var i = 0; i<= arr.length; i ++){  for(var j = 0; j<=arr[i].length ; j++){      if(arr.indexOf(elem)!= -1){        newArr.push(arr[i]);      }  }}    return newArr;}console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)); 這個(gè)邏輯有什么問題?
查看完整描述

4 回答

?
慕斯709654

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

如果你想要多維數(shù)組作為結(jié)果


function filteredArray(arr, elem) {

    let newArr = [];

  

    for (var i = 0; i < arr.length; i++) {

      let subArray=[];  

      for (var j = 0; j < arr[i].length; j++) {

        if (arr[i][j] !==elem) {

          subArray.push(arr[i][j]);

        }

      }

      newArr.push(subArray)

    }

  

    return newArr;

  }

  

  console.log((filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)));


如果你想要平面陣列作為結(jié)果


    function filteredArray(arr, elem) {

      let newArr = [];


      for (var i = 0; i < arr.length; i++) {

        for (var j = 0; j < arr[i].length; j++) {

          if (arr[i][j] !==elem) {

            newArr.push(arr[i][j]);

          }

        }

      }

    

      return newArr;

    }

    

    console.log((filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)));


查看完整回答
反對(duì) 回復(fù) 2022-11-11
?
30秒到達(dá)戰(zhàn)場(chǎng)

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

不使用filter方法,但如果可以使用map,reduce將簡(jiǎn)化,可以避免使用索引處理。


const filteredArray = (arr, elem) =>

  arr.map((data) =>

    data.reduce((acc, cur) => (cur !== elem && acc.push(cur), acc), [])

  );


console.log(

  filteredArray(

    [

      [3, 2, 3],

      [1, 6, 3],

      [3, 13, 26],

      [19, 3, 9],

    ],

    3

  )

);


如果您需要平面數(shù)組,只需更改map為flatMap上面的代碼。


const filteredFlatArray = (arr, elem) =>

  arr.flatMap((data) =>

    data.reduce((acc, cur) => (cur !== elem && acc.push(cur), acc), [])

  );


console.log(

  filteredFlatArray(

    [

      [3, 2, 3],

      [1, 6, 3],

      [3, 13, 26],

      [19, 3, 9],

    ],

    3

  )

);


查看完整回答
反對(duì) 回復(fù) 2022-11-11
?
繁星coding

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

更正


i <= arr.length=>i < arr.length

arr.indexOf(elem)=>arr[i].indexOf(elem)

function filteredArray(arr, elem) {

  let newArr = [];


  for (var i = 0; i < arr.length; i++) {

    for (var j = 0; j < arr[i].length; j++) {


      if (arr[i].indexOf(elem) != -1) {

        newArr.push(arr[i]);

      }

    }

  }


  return newArr;

}


console.log(JSON.stringify(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3))); 


查看完整回答
反對(duì) 回復(fù) 2022-11-11
?
慕娘9325324

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

這個(gè)邏輯有什么問題?


1-您需要在訪問它們之前聲明空子數(shù)組。


newArr[i] = [];

2-如果未找到 elem,則要推送整個(gè)數(shù)組(我假設(shè)是為了節(jié)省時(shí)間),請(qǐng)糾正條件或放入其他內(nèi)容。


newArr.push(arr[i]); but you should use this 

newArr[i] = arr[i]; because i created new empty sub arrays.

3-您需要實(shí)際使用 j 來遍歷子數(shù)組。


newArr[i].push(arr[i][j]);

4-已經(jīng)回答,但你需要檢查你沒有超出數(shù)組。


i < arr.length j < arr[i].length


5-您缺少極端情況。


console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 5, 9], [3, 3, 3]], 3) );


function filteredArray(arr, elem) {

  const newArr = [];

  let skip = 0;


  for (var i = 0; i < arr.length; i++) {

    newArr[i] = [];

    skip = arr[i].indexOf(elem);

    for (var j = 0; j < arr[i].length; j++) {

      if (skip !== -1) {

        if (arr[i][j] !== elem) {

          newArr[i].push(arr[i][j]);

        }

      } else {

        newArr[i] = arr[i];

        break;

      }

    }

  }


  return newArr;

}


console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 5, 9], [3, 3, 3]], 3)); 



查看完整回答
反對(duì) 回復(fù) 2022-11-11
  • 4 回答
  • 0 關(guān)注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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