亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript處理數(shù)組數(shù)據(jù)的示例詳解

 更新時間:2023年10月24日 08:20:52   作者:JackieDYH  
這篇文章主要為大家詳細(xì)介紹了JavaScript如何處理數(shù)組數(shù)據(jù),包括數(shù)據(jù)匹配和剔除,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下

數(shù)據(jù)

[
  {
    title: '市值',
    prop: 'sz',
    titleData: [
      {
        title: '市值',
        label: '市值',
        prop: 'sz',
        isShow: false,
        fixed: false,
        width: 100,
        align: 'left'
      },
      {
        title: '持倉/市值',
        label: '持倉/市值',
        prop: 'ccsz',
        isShow: false,
        fixed: false,
        width: 120,
        align: 'left'
      }
    ]
  },
  {
    title: '持倉',
    prop: 'cc',
    titleData: [
      {
        title: '資金費率',
        label: '資金費率',
        prop: 'avgFundingRateByOi',
        isShow: false,
        fixed: false,
        width: 100,
        align: 'left'
      },
      {
        title: '持倉',
        label: '持倉',
        prop: 'openInterest',
        isShow: false,
        fixed: false,
        width: 100,
        align: 'left'
      }
    ]
  }
]

循環(huán)上面數(shù)組 并把titleData中的每一項和下面這個數(shù)組中每一項進行對比,單prop相等時,將下面的匹配項覆蓋到上面對應(yīng)的位置

[{
        title: '持倉',
        label: '持倉',
        prop: 'openInterest',
        fixed: false,
        width: 100,
        isShow: true,
        align: 'left'
      },
      {
        title: '持倉變化(24h)',
        label: '持倉(24h%)',
        prop: 'h24OiChangePercent',
        fixed: false,
        width: 100,
        isShow: true,
        align: 'left'
      },
      {
        title: '多(4小時)',
        label: '多(4h)',
        prop: 'h4LongVolUsd',
        fixed: false,
        width: 100,
        isShow: true,
        align: 'left'
      }]

實現(xiàn)

data.forEach(item => {
  item.titleData.forEach(titleItem => {
    const match = newData.find(newItem => newItem.prop === titleItem.prop);
    if (match) {
      Object.assign(titleItem, match);
    }
  });
});

會遍歷data數(shù)組中的每個對象,然后對每個對象的titleData數(shù)組進行遍歷。在遍歷titleData數(shù)組的過程中,會查找與newData數(shù)組中具有相同prop屬性的對象。如果找到匹配項,則使用Object.assign方法將匹配項的屬性覆蓋到titleData數(shù)組中的相應(yīng)對象上。

最終,data數(shù)組中的titleData數(shù)組將被更新為匹配項的屬性值。

const data = [
  {
    label: "收藏",
    prop: "sc",
    fixed: true,
    width: 60,
    isShow: true,
    align: "center"
  },
  {
    label: "排名",
    prop: "pm",
    fixed: true,
    width: 60,
    isShow: true,
    align: "center"
  },
  {
    label: "幣種",
    prop: "symbol",
    fixed: true,
    width: 90,
    isShow: true,
    align: "left"
  },
  {
    label: "價格",
    prop: "price",
    fixed: false,
    width: 100,
    isShow: true,
    align: "left"
  },
  {
    title: "價格變化(24h)",
    label: "價格(24h%)",
    prop: "h24PriceChangePercent",
    fixed: false,
    width: 100,
    isShow: true,
    align: "left"
  }
];
 

循環(huán)上面數(shù)組 把下面的數(shù)字和上面匹配prop,當(dāng)上面數(shù)組存在下面的某一項時,將其isshow字段賦值為下面的,如果isshow為false時,將從上面數(shù)組中刪除,如果不存在則追加到上面數(shù)組中

const newData = [
  {
    title: '持倉',
    label: '持倉',
    prop: 'openInterest',
    fixed: false,
    width: 100,
    isShow: true,
    align: 'left'
  },
  {
    title: '持倉變化(24h)',
    label: '持倉(24h%)',
    prop: 'h24OiChangePercent',
    fixed: false,
    width: 100,
    isShow: false,
    align: 'left'
  },
  {
    title: '多(4小時)',
    label: '多(4h)',
    prop: 'h4LongVolUsd',
    fixed: false,
    width: 100,
    isShow: true,
    align: 'left'
  }
];
 

使用

newData.forEach(newItem => {
  const matchIndex = data.findIndex(item => item.prop === newItem.prop);
  if (matchIndex !== -1) {
    if (newItem.isShow) {
      data[matchIndex].isShow = true;
    } else {
      data.splice(matchIndex, 1);
    }
  } else {
    data.push(newItem);
  }
});
 
console.log(data);

到此這篇關(guān)于JavaScript處理數(shù)組數(shù)據(jù)的示例詳解的文章就介紹到這了,更多相關(guān)JavaScript處理數(shù)組數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 運用js實現(xiàn)圖層拖拽的功能

    運用js實現(xiàn)圖層拖拽的功能

    js拖拽是常見的網(wǎng)頁效果,本文將從零開始實現(xiàn)一個簡單的js插件,下面和小編來一起學(xué)習(xí)一下吧
    2019-05-05
  • JavaScript 點擊觸發(fā)復(fù)制功能實例詳解

    JavaScript 點擊觸發(fā)復(fù)制功能實例詳解

    這篇文章主要介紹了JavaScript 點擊觸發(fā)復(fù)制功能實例詳解,需要的朋友可以參考下
    2018-11-11
  • 自己封裝的一個原生JS拖動方法(推薦)

    自己封裝的一個原生JS拖動方法(推薦)

    下面小編就為大家?guī)硪黄约悍庋b的一個原生JS拖動方法(推薦)。小編覺得挺不錯的,希望對大家有所幫助。一起跟隨小編過來看看吧,祝大家游戲愉快哦
    2016-11-11
  • JavaScript工廠模式詳解

    JavaScript工廠模式詳解

    這篇文章主要介紹了JavaScript設(shè)計模式之工廠模式,結(jié)合完整實例形式分析了工廠模式的概念、原理及javascript定義與使用工廠模式的相關(guān)操作技巧,需要的朋友可以參考下
    2021-10-10
  • 跟我學(xué)習(xí)javascript的基本類型和引用類型

    跟我學(xué)習(xí)javascript的基本類型和引用類型

    跟我學(xué)習(xí)javascript的基本類型和引用類型,利用圖解的方式,告訴大家javascript的基本類型和引用類型的區(qū)別和聯(lián)系,感興趣的小伙伴們可以參考一下
    2015-11-11
  • JavaScript實現(xiàn)excel文件導(dǎo)入導(dǎo)出

    JavaScript實現(xiàn)excel文件導(dǎo)入導(dǎo)出

    這篇文章主要介紹了JavaScript實現(xiàn)excel文件導(dǎo)入導(dǎo)出,文件的導(dǎo)入導(dǎo)出是非常常見的需求功能,excel文件的導(dǎo)入導(dǎo)出更為常見,實踐中許多時候,是調(diào)用接口實現(xiàn)導(dǎo)入導(dǎo)出的,具體實現(xiàn)內(nèi)容需要的小伙伴可以參考一下
    2022-06-06
  • js實現(xiàn)3d懸浮效果

    js實現(xiàn)3d懸浮效果

    本文主要分享了js實現(xiàn)3d懸浮效果的示例代碼,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • JS如何實現(xiàn)form表單登錄驗證并使用MD5加密詳解

    JS如何實現(xiàn)form表單登錄驗證并使用MD5加密詳解

    表單驗證為終端用戶檢測無效的數(shù)據(jù)并標(biāo)記這些錯誤,是一種用戶體驗的優(yōu)化,下面這篇文章主要給大家介紹了關(guān)于JS如何實現(xiàn)form表單登錄驗證并使用MD5加密的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • javascript 函數(shù)參數(shù)限制說明

    javascript 函數(shù)參數(shù)限制說明

    我依稀記得哪本書上有說過,實參數(shù)限制是32個? 現(xiàn)在想想估計是我記錯了..他也許說的是32位.
    2010-11-11
  • 原JS實現(xiàn)banner圖的常用功能

    原JS實現(xiàn)banner圖的常用功能

    這篇文章主要為大家詳細(xì)介紹了原JS實現(xiàn)banner圖的常用功能,,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評論