Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AngularJS中获取值为x的项目的行数?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在AngularJS中获取值为x的项目的行数?

Javascript 如何在AngularJS中获取值为x的项目的行数?,javascript,angularjs,Javascript,Angularjs,我有以下目标 var countries = [ {country: "Ireland", continent: "Europe", language: "English"}, {country: "Spain", continent: "Europe", language: "Spanish"}, {country: "United Kingdom", continent: "Europe", language: "English"},

我有以下目标

    var countries = [
        {country: "Ireland", continent: "Europe", language: "English"},
        {country: "Spain", continent: "Europe", language: "Spanish"},
        {country: "United Kingdom", continent: "Europe", language: "English"},
        {country: "France", continent: "Europe", language: "French"},
        {country: "Germany", continent: "Europe", language: "(other)"},
        {country: "Sweden", continent: "Europe", language: "(other)"},
        {country: "Norway", continent: "Europe", language: "(other)"},
        {country: "Italy", continent: "Europe", language: "(other)"},
        {country: "Greece", continent: "Europe", language: "(other)"},
        {country: "Iceland", continent: "Europe", language: "(other)"},
        {country: "Portugal", continent: "Europe", language: "Portuguese"},
        {country: "Malta", continent: "Europe", language: "(other)"},
        {country: "Brazil", continent: "South America", language: "Portuguese"},
        {country: "Argentina", continent: "South America", language: "Spanish"},
        {country: "Colombia", continent: "South America", language: "Spanish"},
        {country: "Peru", continent: "South America", language: "Spanish"},
        {country: "Venezuela", continent: "South America", language: "Spanish"},
        {country: "Uruguay", continent: "South America", language: "Spanish"}
    ];
如何使用例如
大陆
==“南美”来计算对象?它是从AngularJS控制器内的Web服务返回的OBEJCT的JSON列表。

您可以使用

var countries=[{“国家”:“爱尔兰”,“大陆”:“欧洲”,“语言”:“英语”},{“国家”:“西班牙”,“大陆”:“欧洲”,“语言”:“西班牙语”},{“国家”:“联合王国”,“大陆”:“欧洲”,“语言”:“英语”},{“国家”:“法国”,“大陆”:“欧洲”,“语言”:“法语”},{“国家”:“德国”,“大陆”:“欧洲”,“语言”:“其他”}{“国家”:“瑞典”,“大陆”:“欧洲”,“语言”:(其他)”},{“国家”:“挪威”,“大陆”:“欧洲”,“语言”:(其他)”},{“国家”:“意大利”,“大陆”:“欧洲”,“语言”:(其他)”},{“国家”:“希腊”,“大陆”:“欧洲”,“语言”:(其他)”},{“国家”:“冰岛”,“大陆”:“欧洲”,“语言”:(其他)”},{“国家”:“葡萄牙”,“大陆”:”欧洲、语言:“葡萄牙语”}、{“国家”:“马耳他”、“大陆”:“欧洲”、“语言”:“其他”}、{“国家”:“巴西”、“大陆”:“南美洲”、“语言”:“葡萄牙语”}、{“国家”:“阿根廷”、“大陆”:“南美洲”、“语言”:“西班牙语”}、{“国家”:“哥伦比亚”、“大陆”:“南美洲”、“语言”:“西班牙语”}、{“国家”:“秘鲁”、“大陆”:南美洲“,”语言“:”西班牙语“},{”国家“:”委内瑞拉“,”大陆“:”南美洲“,”语言“:”西班牙语“},{”国家“:”乌拉圭“,”大陆“:”南美洲“,”语言“:”西班牙语“}]
var结果=国家。减少(功能(r,e){
如果(欧洲大陆===‘南美洲’)r++
返回r;
}, 0);
console.log(结果)

您可以创建一个数组,如:

var southAfrikaResult=[]

然后在国家/地区数组上循环(使用angular.forEach)并检查

item.continent === 'South Afika'
如果是这样的话,那么将该项目推到您的南非成绩中。您的最终成绩将是:

var your_result = southAfricaResult.length;
编辑:何塞·赫莫西拉·罗德里戈提出的过滤解决方案更好。

我想做点什么

var countries = [
    {country: "Ireland", continent: "Europe", language: "English"},
    {country: "Spain", continent: "Europe", language: "Spanish"},
    {country: "United Kingdom", continent: "Europe", language: "English"},
    {country: "France", continent: "Europe", language: "French"},
    {country: "Germany", continent: "Europe", language: "(other)"},
    {country: "Sweden", continent: "Europe", language: "(other)"},
    {country: "Norway", continent: "Europe", language: "(other)"},
    {country: "Italy", continent: "Europe", language: "(other)"},
    {country: "Greece", continent: "Europe", language: "(other)"},
    {country: "Iceland", continent: "Europe", language: "(other)"},
    {country: "Portugal", continent: "Europe", language: "Portuguese"},
    {country: "Malta", continent: "Europe", language: "(other)"},
    {country: "Brazil", continent: "South America", language: "Portuguese"},
    {country: "Argentina", continent: "South America", language: "Spanish"},
    {country: "Colombia", continent: "South America", language: "Spanish"},
    {country: "Peru", continent: "South America", language: "Spanish"},
    {country: "Venezuela", continent: "South America", language: "Spanish"},
    {country: "Uruguay", continent: "South America", language: "Spanish"}
];

j = 0;
newCountry = [];    

for(i=0; i<countries.length; i++)
{
    if(countries[i]['continent'] == 'South America')
    { 
        j++; //only for size
        newCountry.push(countries[i]);
    }
}
var国家=[
{国家:“爱尔兰”,大陆:“欧洲”,语言:“英语”},
{国家:“西班牙”,大陆:“欧洲”,语言:“西班牙语”},
{国家:“联合王国”,大陆:“欧洲”,语言:“英语”},
{国家:“法国”,大陆:“欧洲”,语言:“法语”},
{国家:“德国”,大陆:“欧洲”,语言:“(其他)”},
{国家:“瑞典”,大陆:“欧洲”,语言:“(其他)”},
{国家:“挪威”,大陆:“欧洲”,语言:“(其他)”},
{国家:“意大利”,大陆:“欧洲”,语言:“(其他)”},
{国家:“希腊”,大陆:“欧洲”,语言:“(其他)”},
{国家:“冰岛”,大陆:“欧洲”,语言:“(其他)”},
{国家:“葡萄牙”,大陆:“欧洲”,语言:“葡萄牙语”},
{国家:“马耳他”,大陆:“欧洲”,语言:“(其他)”},
{国家:“巴西”,大陆:“南美洲”,语言:“葡萄牙语”},
{国家:“阿根廷”,大陆:“南美洲”,语言:“西班牙语”},
{国家:“哥伦比亚”,大陆:“南美洲”,语言:“西班牙语”},
{国家:“秘鲁”,大陆:“南美洲”,语言:“西班牙语”},
{国家:“委内瑞拉”,大陆:“南美洲”,语言:“西班牙语”},
{国家:“乌拉圭”,大陆:“南美洲”,语言:“西班牙语”}
];
j=0;
newCountry=[];

对于(i=0;i您可以创建如下数组

var result = [];
你需要每个循环

angular.forEach(countries, function(value, key) {
if(value.continent == "South America")
       //your logic
  result.push(value.continent);
});
最后计算数组长度

var count = result.length;

如果您想在任何步骤中获得更多详细信息,请单击!

以使结果应为0或6?对不起,我的错误!我已更正了问题。我想搜索“南美洲”,结果应为6。
countries.filter(country=>country.containment==“America”).length
@Jose:这是纯Javascript吗?如果我有1000个项目,速度会很快吗?是的!这是纯Javascript。使用筛选功能,您只需循环数组,并根据条件筛选出一个新数组,在本例中,
country.continent='South America'
,并获得此数组的长度。fiddle: