【发布时间】:2023-03-12 16:00:01
【问题描述】:
我正在处理一个看起来像这样的奇怪数据结构:
const time = {
60: [
{ acc: 98.97, language: 'english', punctuation: false, wpm: 96, raw: '46' },
{ acc: 92.63, language: 'english_10k', punctuation: false, wpm: 59.19, raw: 60.99 }
]
};
我已经有了 wpm 的值(例如 96),但需要从 96 来自的同一个数组中找到 raw 的值。我给它一个尝试如下:
function findTimeRaw() {
let timeVal = 96
let {raw} = time[timeVal].find(({wpm})=>wpm===timeVal);
return raw
}
理论上这应该返回“46”,而是返回未定义。
谁能解释我哪里出错了?
【问题讨论】:
-
这个
time[timeVal]根据发布的time对象返回undefined,因为没有任何属性等于96。 -
你知道
timeVal吗?或者这个time结构中是否/可以有多个键? -
我已经知道 timeval,它可以是 15、30、60 或 120 - 但为了简单起见,我没有包括这个
-
let {raw} = time[60].find(({wpm})=>wpm===timeVal); -
我看不出它怎么可能是
wpm===timeVal,因为在这种情况下timeval = 60,但谢谢
标签: javascript arrays function object