通过JSON对象键访问javascript数组元素

use*_*894 0 javascript arrays json

我有一个看起来像这样的数组

var Zips = [{Zip: 92880, Count:1}, {Zip:91710, Count:3}, {Zip:92672, Count:0}]
Run Code Online (Sandbox Code Playgroud)

我希望能够通过Zip属性访问特定对象的Count属性,这样当我得到另一个匹配的zip时,我可以增加计数.我希望这样的东西,但它不太正确(这将是一个循环)

Zips[rows[i].Zipcode].Count
Run Code Online (Sandbox Code Playgroud)

我知道这是不对的,我希望有一个解决方案,而不是每次循环结果集?

谢谢

Dar*_*rov 5

我知道这是不对的,我希望有一个解决方案,而不是每次循环结果集?

不,你必须循环并找到符合你标准的适当值.或者你可以使用这个filter方法:

var filteredZips = Zips.filter(function(element) {
    return element.Zip == 92880;
});
if (filteredZips.length > 0) {
    // we have found a corresponding element
    var count = filteredZips[0].count;
}
Run Code Online (Sandbox Code Playgroud)

如果您以不同的方式设计了对象:

var zips = {"92880": 1, "91710": 3, "92672": 0 };
Run Code Online (Sandbox Code Playgroud)

然后你可以直接访问Count:

var count = zips["92880"];
Run Code Online (Sandbox Code Playgroud)