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

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

通過 findIndex 按索引查找對象,如果沒有找到則返回第一項

通過 findIndex 按索引查找對象,如果沒有找到則返回第一項

小唯快跑啊 2023-01-06 16:22:07
該函數findIndex將返回元素的索引,如果在列表中找到,則返回-1但是,如果什么都沒有找到,我想要一個現有的固定項,即第一個,而不是檢查返回值:if (id === -1)  id = 0;在 JavaScript 中有沒有簡單或更短的方法?var items = [{  message: 'Hello World',  day: 'j1'}, {  message: 'Lorem ipsum dolor sit',  day: 'j2'}]function idbyDay(day) {  return this.items.findIndex(q => q.day === day);}function myFunction() {    var day = document.getElementById("day").value  console.log(day);  var id = this.idbyDay(day);  if (id === -1)    id = 0;  console.log(this.items[id]);}<input id="day" value="no"><button onclick="myFunction()">Try it</button>
查看完整描述

1 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

您可以使用三元運算符,但不能再簡化它了。


function idbyDay(day) {

  const idx = this.items.findIndex(q => q.day === day)

  return idx !== -1 ? idx : 0;

}

或者,由于您僅使用索引從數組中獲取項目,因此您可以使用Array#findnullish 合并運算符來提供默認值。


function itembyDay(day) {

  return this.items.find(q => q.day === day) ?? this.items[0];

}


查看完整回答
反對 回復 2023-01-06
  • 1 回答
  • 0 關注
  • 473 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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