簡體   English   中英

如何過濾到 Object (js) 只查看所需的屬性

[英]How to filter into an Object (js) looking only into desired properties

我正在使用 SheetJS ( https://github.com/SheetJS/sheetjs ) 來使用 excel 表中的信息。 到目前為止,我得到的是一個 object,其單元格名稱作為對象,如下所示:

Sheet1 = {
  A1: {
    t: "s",
    v: "Jhon"
  },
  A2: {
    t: "s",
    v: "Doe"
  }
}

等等。 現在我需要找到我想要的數字(取決於日期)只在單元格 B14 到 AF14 之間查找)並返回我在上一步中得到的單元格下方的七個單元格。 對我來說最難的部分是只看對象 B14、C14.. AF14。

我很確定sheetjs能夠檢索某些單元格而不是整個網格,但我從未使用過它。

我會做什么:

const sheet = {
  A1: {
    t: "s",
    v: "Jhon"
  },
  A2: {
    t: "s",
    v: "Doe"
  }
}

const start = 'B'.charCodeAt(0)
const end = 'F'.charCodeAt(0)

const objs = {}

for (let i = start; i <= end; i += 1) {
  const key = String.fromCharCode(i) + '14'
  if (key in sheet) {
    objs[key] = sheet[key]
  }
}

此代碼應返回 object 對象,表示 B14 和 F14 之間的單元格。

你也可以這樣做:

const sheet = {
  A1: {
    t: "s",
    v: "Jhon"
  },
  A2: {
    t: "s",
    v: "Doe"
  }
}

const array = Object.entries(sheet).filter(([key]) => key.match(/^[B-F]14$/))

這將為您提供過濾對象數組。

如果你想要下面的 7 個單元格,只需進行第二個循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM