数组值的 Ramda 路径
Ramda path for array values
我有下面的 Ramda 代码,它不起作用。
是因为appSessions[0]
吗?如果是,我应该怎么写?另外,如果找不到该值,我该如何添加默认值?
R.path(['appSessions[0]', 'personalInfo', 'personalInfo'], response);
你不想要 ['appSession[0]', ...]
但 ['appSession', 0, ...]
:
提供给 path
的节点可以是字符串(对于对象)或数字(对于数组):
const response = {
appSessions: [
{
id: 1,
personalInfo: { personalInfo: {foo: 'bar'}, other: true },
another: 1
}, {
id: 2,
personalInfo: { personalInfo: {foo: 'qux'}, other: 99 },
another: false
}
]
}
console .log (
R .path (['appSessions', 0, 'personalInfo', 'personalInfo'], response)
)
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script>
这个实际路径对我来说看起来很奇怪,personalInfo
嵌套在 personalInfo
中,但它会起作用。
我有下面的 Ramda 代码,它不起作用。
是因为appSessions[0]
吗?如果是,我应该怎么写?另外,如果找不到该值,我该如何添加默认值?
R.path(['appSessions[0]', 'personalInfo', 'personalInfo'], response);
你不想要 ['appSession[0]', ...]
但 ['appSession', 0, ...]
:
提供给 path
的节点可以是字符串(对于对象)或数字(对于数组):
const response = {
appSessions: [
{
id: 1,
personalInfo: { personalInfo: {foo: 'bar'}, other: true },
another: 1
}, {
id: 2,
personalInfo: { personalInfo: {foo: 'qux'}, other: 99 },
another: false
}
]
}
console .log (
R .path (['appSessions', 0, 'personalInfo', 'personalInfo'], response)
)
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script>
这个实际路径对我来说看起来很奇怪,personalInfo
嵌套在 personalInfo
中,但它会起作用。