首页 > 解决方案 > 无法正确找到数据

问题描述

我执行循环,循环中有一行与指定的参数匹配。应出现消息“确定”。相反,我总是得到“否”的结果。

request(
    {
        url: 'http://localhost:5000/positions/get',
        method: 'POST',
        headers: headers
    }, 
    function (error, response, body) {
        console.log('status: ' + response.statusCode)
        if (response.statusCode) {
            body = JSON.parse(body)
            var formData = { Id: 75, Name: 'CEO' }
            for (var i = 0; i < body.rows.length; i++ ) {
                if (body.rows[i] === formData) {
                    console.log('Ок')
                } else {
                    console.log('No')
                }
            }
        }
    }
)

回答:

> console.log(body.rows)

[ { Id: 1, Name: 'Engineer' }, ..., ... 61 more items ]

标签: javascriptnode.js

解决方案


if (body.rows[i] === formData) {

此行应该是(如果您只想检查 Id)

if (body.rows[i].Id === formData.Id) {

或(如果您想同时检查 Id 和 Name)

if (body.rows[i].Id === formData.Id && body.rows[i].Name === formData.Name ) {

推荐阅读