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

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

Javascript 根據(jù)屬性值從對(duì)象數(shù)組中獲取下一個(gè)對(duì)象

Javascript 根據(jù)屬性值從對(duì)象數(shù)組中獲取下一個(gè)對(duì)象

慕慕森 2022-06-16 15:39:35
我有一個(gè)看起來像這樣的對(duì)象數(shù)組:orders:[  0: {    order_id: 234,    text: 'foo'  },  1: {    order_id: 567,    text: 'bar'  }]現(xiàn)在假設(shè)我有 id234并且我需要數(shù)組中的下一個(gè)對(duì)象這是我的功能:nextOrder() {    return this.orders.sort(function(a,b) {      return a.order_id == 234 ? 0 : (a.index < b.index ? -1 : 1)    });}這給了我以下錯(cuò)誤:“(評(píng)估期間的錯(cuò)誤)”
查看完整描述

3 回答

?
瀟瀟雨雨

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

是什么a.index?你的意思是數(shù)組索引?


我想你只是想在數(shù)組中找到項(xiàng)目的索引,然后在下一個(gè)索引處取對(duì)象:


nextOrder() {

  const index = this.orders.findIndex(order => order.order_id === 234)

  if (index === -1 || index === this.orders.length - 1) {

    // No such order or no next order

    return null

  }


  return this.orders[index + 1]

}

上一個(gè)訂單在 index 處index - 1,下一個(gè)訂單在 index 處index + 1。要檢查任一順序是否存在,您只需要檢查索引是否在數(shù)組的范圍內(nèi)。i只要 ,索引就在數(shù)組的范圍內(nèi)0 <= i <= (orders.length - 1)。


如果index - 1 >= 0(不能為負(fù)索引)且index - 1 <= array.length - 1(不能大于數(shù)組的最后一個(gè)索引),則存在前一個(gè)順序。


查看完整回答
反對(duì) 回復(fù) 2022-06-16
?
RISEBY

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

試試下面的代碼,

        let id = 234; // your id
        let index = this.orders.findIndex(order => order.some_id === id);
                console.log(this.orders[index + 1]); // give you the next object


查看完整回答
反對(duì) 回復(fù) 2022-06-16
?
慕尼黑5688855

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

你可以簡單地使用findIndex


let arr = [{order_id: 234, text: 'foo'},{ order_id: 567, text: 'bar'}]


let findNextOrder = (id) => {

  let index = arr.findIndex(({ order_id }) => order_id === id)

  return index > -1 && index < arr.length - 1 ? arr[index + 1] : undefined

}


console.log(findNextOrder(234))


您不需要根據(jù)您對(duì)問題的評(píng)論進(jìn)行排序,您的對(duì)象上也沒有名為 index 的屬性。


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

添加回答

舉報(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)