javascript - 如何在具有键数组的对象中查找值
问题描述
例如我有一个对象,它本身有对象和数组:
const object =
{
a: {
b: [
0: 'something',
1: {
c: 'the thing that I need',
},
],
},
};
和一个以键为值的数组:
const array =
[
'a', 'b', '1', 'c',
];
如何使用此数组在对象中导航并为我提供值?也许有办法做到这一点ramda
?或者只是为了使其看起来易于阅读。
解决方案
您可以减少定义通过对象的路径的数组。您确实在数组中有错误。路径应该是:[ 'a', 'b', '1', 'c' ],因为你需要的是 b 数组的第二个元素,而不是第一个。
const object = {
a: {
b: [
'something',
{ c: 'the thing that I need' }
],
},
};
const path = [ 'a', 'b', '1', 'c' ];
const result = path.reduce(( source, next ) => source[ next ], object );
console.log( result );
推荐阅读
- node.js - 在 tsconfig、commonjs、umd 或 es6 模块中使用什么?
- python - Python - 从两个不同的长/纬度列表计算距离
- android-studio - 如何解决 Google Play 商店缺少在 Flutter 中显示谷歌地图的警告
- python - 错误:“NoneType”不可迭代。蟒蛇,MacOS
- vba - 是否可以在 openoffice 的用户类型中包含 Sub?VBA
- django - 使用 Django(Djongo) 从 MongoDB 现有数据库中提取数据
- symfony-3.4 - 编辑 symfony FOSUser 时出现问题(选项“多个”不存在。定义的选项是:)
- ios - 如何转换绑定
绑定 - javascript - 如何在数组中获得正确的数组总和?
- authentication - 嵌入式登录示例代码不起作用