亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

按參數過濾數組

按參數過濾數組

守候你守候我 2022-12-22 15:01:52
我有一個數組:const submissions = [  {    question: 'blah blah blah ?',    response: 'blah blah blah',    isCorrect: true,    isEssayQuestion: false  },  {    question: 'blah blah blah blah',    response: 'blah blah blah',    isCorrect: true,    isEssayQuestion: false  },  {    question: 'blah blah blah ?',    response: 'blah blah blah blah',    isCorrect: true,    isEssayQuestion: true  },  {    question: 'True or False: I am new to JS.',    response: 'True',    isCorrect: true,    isEssayQuestion: false  }];該函數接受提交數組和一個布爾參數。function filterQuestionsByType(submissions, essayquestion) {  let trueEssay = [];  let falseEssay = [];   for (let i = 0; i < submissions.length; i++) {    if ( essayquestion === true) {      if ( submissions[i].isEssayQuestion === true) {        trueEssay.push(submissions[i]);      } else {        falseEssay.push(submissions[i]);      }    }   }  if (essayquestion === true) {    return trueEssay;  } else {    return falseEssay;  }}如果為真,我需要返回一個包含所有 isEssayQuestion 為真的條目的數組。如果為假,則相同。它適用于 true 但不是 false。想法?
查看完整描述

3 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

Array.prototype.filter()完全符合目的:



const src = [{question:'blah blah blah ?',response:'blah blah blah',isCorrect:true,isEssayQuestion:false},{question:'blah blah blah blah',response:'blah blah blah',isCorrect:true,isEssayQuestion:false},{question:'blah blah blah ?',response:'blah blah blah blah',isCorrect:true,isEssayQuestion:true},{question:'True or False: I am new to JS.',response:'True',isCorrect:true,isEssayQuestion:false}],


    filterQuestionsByType = (submissions, essayquestions) => 

      submissions.filter(({isEssayQuestion}) => isEssayQuestion == essayquestions)

      

console.log(filterQuestionsByType(src, true))


查看完整回答
反對 回復 2022-12-22
?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

那么就使用.filter這個案例的方法


const submissions = [

  {

    question: 'blah blah blah ?',

    response: 'blah blah blah',

    isCorrect: true,

    isEssayQuestion: false

  },

  {

    question: 'blah blah blah blah',

    response: 'blah blah blah',

    isCorrect: true,

    isEssayQuestion: false

  },

  {

    question: 'blah blah blah ?',

    response: 'blah blah blah blah',

    isCorrect: true,

    isEssayQuestion: true

  },

  {

    question: 'True or False: I am new to JS.',

    response: 'True',

    isCorrect: true,

    isEssayQuestion: false

  }

];


function essays(essay, question) {

   return essay.filter(({isEssayQuestion}) => isEssayQuestion === question)

}


console.log(essays(submissions, false));

console.log("------------------------------------");

console.log(essays(submissions, true));


查看完整回答
反對 回復 2022-12-22
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

這是另一種方法。您可以簡單地將源數組映射到新對象屬性 (sortedValues) 并將結果寫入其中。此方法只運行一次,而不是其他示例,您需要運行兩次 - 真和假。


const submissions = [

  {

    question: 'blah blah blah ?',

    response: 'blah blah blah',

    isCorrect: true,

    isEssayQuestion: false

  },

  {

    question: 'blah blah blah blah',

    response: 'blah blah blah',

    isCorrect: true,

    isEssayQuestion: false

  },

  {

    question: 'blah blah blah ?',

    response: 'blah blah blah blah',

    isCorrect: true,

    isEssayQuestion: true

  },

  {

    question: 'True or False: I am new to JS.',

    response: 'True',

    isCorrect: true,

    isEssayQuestion: false

  }

];


const sortedValues = {

  trueValues: [],

  falseValues: []

}



submissions.map(item => {

  sortedValues[`${item.isEssayQuestion}Values`] = [...sortedValues[`${item.isEssayQuestion}Values`], item]

})


console.log(JSON.stringify(sortedValues, 2,2))


查看完整回答
反對 回復 2022-12-22
  • 3 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號