Javascript 如何从对象数组中读取属性值?

Javascript 如何从对象数组中读取属性值?,javascript,node.js,Javascript,Node.js,我在node.js中工作 我在.js文件中调用rest api,如下所示: $http.get("/api/products/"+cat_id).success( function(response){ //$scope.cat_id = response; console.log("Got response products for page 1"); console.log

我在node.js中工作

我在.js文件中调用rest api,如下所示:

$http.get("/api/products/"+cat_id).success(
            function(response){
                //$scope.cat_id = response;
                console.log("Got response products for page 1");
                console.log("Received products for cat :"+response.pdt.cat_id);
            }
)
以下代码段包含在app.js文件中:

app.get('/api/products/:cat', function(req, res){
var pdts = [];

for(var i=0; i<=6; i++){
    var pdt = {
        id : "1" + i
        , name: 'Product' + i
        ,cat_id: req.params.cat
    };
    pdts.push(pdt);
}

res.json(pdts);
}); 


您将返回一个对象数组,因此需要在其中循环并分别访问每个元素:

$http.get("/api/products/" + cat_id).success(function(response) {
    console.log("Got response products for page 1");

    // response is an array of javascript objects
    for (var i = 0; i < response.length; i++) {
        var element = response[i];
        console.log("Received products for cat :" + element.cat_id);
    }
});

显然,建议您首先检查数组的大小,以确保您尝试访问的元素存在。

因为响应是一个PDT数组,所以它应该类似于
响应[0]。cat\u id
Cannot read property 'cat_id' of undefined
$http.get("/api/products/" + cat_id).success(function(response) {
    console.log("Got response products for page 1");

    // response is an array of javascript objects
    for (var i = 0; i < response.length; i++) {
        var element = response[i];
        console.log("Received products for cat :" + element.cat_id);
    }
});
console.log("Received products for cat :" + response[0].cat_id);