检查数组中的对象,查看是否有包含子字符串的对象?-JavaScript

检查数组中的对象,查看是否有包含子字符串的对象?-JavaScript,javascript,Javascript,我正在Node.js中使用Express框架。用户填写表单并提交表单,其中表单数据作为对象存储,每个字段都有一个属性,并保存到数组中。然后,用户可以转到具有单个文本字段的查询页面,通过输入子字符串来搜索所有表单条目,并列出在其任何字段中包含该子字符串的所有表单条目 下面是我的index.js: router.post('/doquery', function(req, res) { var inp = { input: req.body.input }; var tempStat

我正在Node.js中使用Express框架。用户填写表单并提交表单,其中表单数据作为对象存储,每个字段都有一个属性,并保存到数组中。然后,用户可以转到具有单个文本字段的查询页面,通过输入子字符串来搜索所有表单条目,并列出在其任何字段中包含该子字符串的所有表单条目

下面是我的index.js:

router.post('/doquery', function(req, res) {
    var inp = { input: req.body.input };
    var tempState = [];

    for (var obj in state) {
        for (var prop in obj) {
            for (var input in inp) {
                if (prop.indexOf(input) !== -1) {
                    tempState.push(obj);
                }
            }
        }
    }

    res.render('list', { title: 'People Listing',  items: tempState});
});

inp
是包含子字符串的对象。我要做的是搜索表单条目对象数组,如果一个对象的任何属性中都包含
“inp”
子字符串,则将其添加到tempState,并在列表页上显示
tempState
中的所有对象<代码>状态是一个全局数组,其元素是包含每个单独表单条目的对象。

有什么问题?如果可以显示表单元素的数组?
for in
循环枚举属性名称,而不是对象的属性值
obj
将是一个字符串。