javascript - 洛达什 |搜索对象的键

标签 javascript underscore.js lodash

我正在尝试搜索我拥有的对象以查找与输入名称匹配的键。这样我就可以分配值。

<input type="text" name="first_name"/>

const inputs = document.querySelectorAll('inputs');
const obj = {
    first_name: "Bob",
    last_name: "Marley"
};

我想匹配 key first_name到名称为 first_name 的输入上。

我已经做到了:

_.forEach(inputs, (input) => {
    const value = _.filter(obj, input.name);
    input.value = value;
});

但是,我一直未定义,所以我不相信过滤器是正确使用的函数。然而,我查看了文档,并没有真正看到任何接近的东西。我尝试过转换为数组,但也不抱希望,因为所有键都指向索引号。

最佳答案

我认为 _.get(obj, input.name) 就是您正在寻找的内容。

这里是文档:

_.get(object, path, [defaultValue])

Gets the value at path of object. If the resolved value is undefined, the defaultValue is returned in its place.

示例:

const obj = {'a':1, 'b':{'c': 2}}
_.get(obj, 'a')   // returns 1
_.get(obj, 'b.c') // returns 2

关于javascript - 洛达什 |搜索对象的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47704020/

相关文章:

javascript - js如何简洁实现map[index]++

javascript - 在 ASP.NET 中使用 Underscore.js

javascript - 自合并对象 - lodash

javascript - js lodash 按更深的字段排序

Node.js:如何使用下划线克隆对象并随后为克隆分配新属性?

javascript - 从数组 lodash 中删除项目

javascript - Firebase:FacebookAuthProvider 不是构造函数

Javascript 暂停执行并等待被调用函数返回值

javascript - 如何在 Backbone 形式整数文本字段上定义最小/最大验证?

javascript - underscore.js 使用子元素的键值对数组展平对象结构