[英]Is it faster to delete properties or construct a new object with only desired properties?
[英]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.