Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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的查询_Javascript_Jquery_Arrays_Json - Fatal编程技术网

对数组javascript的查询

对数组javascript的查询,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,如何查询数组javascript,例如,我想查找以a开头的所有名称,然后显示所有信息 姓名:艾伯特,年龄:14岁 姓名:艾莉森,年龄:14岁 这是我的数组json: var house = [{"Name":"Jason","age":"43"}, {"Name":"Albert","age":"14"}, {"Name":"Luck","age":"14"}, {"Name":"Alison","age":"14"}, {"Name":"Tom","age":"12"}] 你可以用 一旦您有

如何查询数组javascript,例如,我想查找以a开头的所有名称,然后显示所有信息

姓名:艾伯特,年龄:14岁 姓名:艾莉森,年龄:14岁

这是我的数组json:

var house = [{"Name":"Jason","age":"43"},
{"Name":"Albert","age":"14"},
{"Name":"Luck","age":"14"},
{"Name":"Alison","age":"14"},
{"Name":"Tom","age":"12"}]
你可以用

一旦您有了这个,您就可以使用and将数据转换为字符串

你可以用

一旦您有了这个,您就可以使用and将数据转换为字符串

您可以使用:

某些旧浏览器可能不支持此方法。检查MDN。

您可以使用:

某些旧浏览器可能不支持此方法。检查MDN。

您也可以使用该功能

您还可以使用函数


您可以筛选数组,以收集具有“A”名称的元素,然后forEach或将匹配项映射到属性名称和值的新数组

house.filter(function(itm){
    return itm.Name.charAt(0)== 'A';
}).map(function(o){
    var A= [];
    for(var p in o){
        if(o.hasOwnProperty(p)){
            A.push(p+':'+o[p]);
        }
    }
    return A;
}).join('\n');
/*返回值:String*/

Name:Albert,age:14
Name:Alison,age:14
如果需要垫片:

(function(){
    var A= Array.prototype;
    if(!A.filter)   A.filter= function(fun, scope){
        var T= this, A= [], i= 0, itm, L= T.length;
        if(typeof fun== 'function'){
            while(i<L){
                if(i in T){
                    itm= T[i];
                    if(fun.call(scope, itm, i, T)) A[A.length]= itm;
                }
                ++i;
            }
        }
        return A;
    }
    if(!A.map) A.map= function(fun, scope){
        var T= this, L= T.length, A= Array(L), i= 0;
        if(typeof fun== 'function'){
            while(i<L){
                if(i in T){
                    A[i]= fun.call(scope, T[i], i, T);
                }
                ++i;
            }
            return A;
        }
    }
}
})();

您可以筛选数组,以收集具有“A”名称的元素,然后forEach或将匹配项映射到属性名称和值的新数组

house.filter(function(itm){
    return itm.Name.charAt(0)== 'A';
}).map(function(o){
    var A= [];
    for(var p in o){
        if(o.hasOwnProperty(p)){
            A.push(p+':'+o[p]);
        }
    }
    return A;
}).join('\n');
/*返回值:String*/

Name:Albert,age:14
Name:Alison,age:14
如果需要垫片:

(function(){
    var A= Array.prototype;
    if(!A.filter)   A.filter= function(fun, scope){
        var T= this, A= [], i= 0, itm, L= T.length;
        if(typeof fun== 'function'){
            while(i<L){
                if(i in T){
                    itm= T[i];
                    if(fun.call(scope, itm, i, T)) A[A.length]= itm;
                }
                ++i;
            }
        }
        return A;
    }
    if(!A.map) A.map= function(fun, scope){
        var T= this, L= T.length, A= Array(L), i= 0;
        if(typeof fun== 'function'){
            while(i<L){
                if(i in T){
                    A[i]= fun.call(scope, T[i], i, T);
                }
                ++i;
            }
            return A;
        }
    }
}
})();

请注意,例如,字符串[i]访问方法是IE6和IE7。如果您想确定,请使用string.charAti。@MattiasBuelens如果不支持string[i],他们将不支持.map或.filter或.stringify,您需要填充所有内容。是的,我刚刚意识到这一点。尽管如此,您仍然可以选择只使用ECMAScript 5,或者填充这些新方法并使用charAt。如果您想确定,请使用string.charAti。@MattiasBuelens如果不支持string[i],他们将不支持.map或.filter或.stringify,您需要填充所有内容。是的,我刚刚意识到这一点。尽管如此,您仍然可以选择仅使用ECMAScript 5,或者填充这些新方法并使用charAt。例如,要显示信息,我使用div$list.appendA,但它会在1行中显示所有内容名称:Albert,年龄:14姓名:Alison,年龄:14,如何显示行中的1个数据?很容易添加br:$list。例如,appendA+来显示信息,我使用div$list.appendA,但它在1行中显示所有数据名称:Albert,年龄:14姓名:Alison,年龄:14,如何显示行中的1个数据?很容易添加br:$list.appendA+
(function(){
    var A= Array.prototype;
    if(!A.filter)   A.filter= function(fun, scope){
        var T= this, A= [], i= 0, itm, L= T.length;
        if(typeof fun== 'function'){
            while(i<L){
                if(i in T){
                    itm= T[i];
                    if(fun.call(scope, itm, i, T)) A[A.length]= itm;
                }
                ++i;
            }
        }
        return A;
    }
    if(!A.map) A.map= function(fun, scope){
        var T= this, L= T.length, A= Array(L), i= 0;
        if(typeof fun== 'function'){
            while(i<L){
                if(i in T){
                    A[i]= fun.call(scope, T[i], i, T);
                }
                ++i;
            }
            return A;
        }
    }
}
})();