跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • javascript 表示 Excel 这种行列式的数据结构用哪种对象合适?
未分類
10 12 月 2020

javascript 表示 Excel 这种行列式的数据结构用哪种对象合适?

javascript 表示 Excel 这种行列式的数据结构用哪种对象合适?

資深大佬 : hahaFck 7

1.传统的 javascript

2.每一个单元格存在一个 object 数据。

3.根据行索引和列索引,可以快速的实现某个单元格的访问。

4.也可以快速的获得某一行的所有单元格数据。

需求是类似于一个二维表格,但是并不是所有的行,及列都是有数据的,比如第一行只有第一列有数据,第二行没有数据,没有数据的行及列不需要存储。

大佬有話說 (16)

  • 資深大佬 : chogath

    map

  • 主 資深大佬 : hahaFck

    @chogath js 中的 map 是后来加的,用不了,但是可以用{}自己实现,就是不知道{}中的 key 访问时,是排序的。

  • 資深大佬 : waiaan

    对象数组

  • 資深大佬 : lishen226

    [{}] 或 [[{}]]

  • 資深大佬 : LiubaiQ

    @hahaFck ES6 语法为啥不能用呢,可以用 bable 转成 ES5 代码

  • 資深大佬 : wxsm

    @LiubaiQ 语法和 API 是两码事。

    我觉得二维数组是最适合的。

    [
    [ {}, {}, {} ],
    [ {}, {}, {} ]
    ]

  • 資深大佬 : wxsm

    不需要存储的行列,undefined 占位就行

  • 資深大佬 : GrapeCityChina

    用 double,尽量不要使用 object 。

    关于这一点,刚好在前几天的 .NET 开发者大会上有过分享,视频回放地址: https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=85101&page=1&extra=#pid339024

  • 資深大佬 : renmu123

    稀疏数组

  • 資深大佬 : no1xsyzy

    如果需求没得缩水,那就稀疏表格吧
    interface unit {data: any, down?: unit, right?: unit, coordinate: [number, number]}
    interface row_index {down?: row_index, right?: unit, row_id: number}
    // interface col_index {down?: unit, right?: col_index, col_id: number}
    interface table {row_indices: row_index[] /*, col_indices: col_index[] */}
    注释范围是列索引,看你这边似乎用不上。

    Map 不适合 4.

  • 資深大佬 : zqx

    二维数组好理解,读写都方便,想不到不用的理由

  • 資深大佬 : w292614191

    数据存储挺简单,复杂的是行列的增删、拖拽、引用关系,要做大量的计算。

  • 資深大佬 : wzzzx

    稀疏数组

  • 資深大佬 : hakono

    那啥,提醒下 LS 的各位,LZ 这种涉及到数据表格的需要,不是一个简单的 Map 、数组就能胜任的
    可以预见,LZ 的需求会渐渐增加——搜索某行,搜索某列,获取指定行数据,获取指定列数据,也有可能会有行列的互相计算

    所以 LZ 需要的是一个类似 Python 中 pandas 的 Dataframe 库
    搜了下,danfojs 应该符合 LZ 需求

  • 資深大佬 : zypy333

    /t/693711 这个帖子里说 SpreadJS 用的是稀疏矩阵 它这好像是广告,细节也没说,仅供参考

  • 資深大佬 : jones2000

    无效单元格 或 无效行都指向同一个全局变量不就可以了. 2 维数组只是存了一个引用

    var g_nullitem={ IsNull:true };
    var g_nullrow={IsNull:true}

    [
    [ {value:10}, {Value:20}, g_nullitem, g_nullitem,g_nullitem],
    g_nullrow,
    [ g_nullitem, {Value:20}, g_nullitem, g_nullitem,g_nullitem],
    g_nullrow,
    …………………………
    ]

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具