如何在不使用javascript上的循环的情况下检查数组中的id?

如何在不使用javascript上的循环的情况下检查数组中的id?,javascript,jquery,arrays,loops,object,Javascript,Jquery,Arrays,Loops,Object,我试着这样: <script type="text/javascript"> var clubs = [ {id: 1, name : 'chelsea'}, {id: 2, name : 'city'}, {id: 3, name : 'liverpool'}, {id: 4, name : 'manchester united'}, {id: 5, name : 'arsenal'}

我试着这样:

<script type="text/javascript">
    var clubs = [ 
        {id: 1, name : 'chelsea'},
        {id: 2, name : 'city'},
        {id: 3, name : 'liverpool'},
        {id: 4, name : 'manchester united'},
        {id: 5, name : 'arsenal'}
    ];
    var selectedId = 3;
    if(clubs.includes(selectedId))
        console.log('The selected id exist');
    else
        console.log('The selected id does not exist');
</script>

风险值=[
{id:1,名字:'chelsea'},
{id:2,名称:'city'},
{id:3,名字:'利物浦'},
{id:4,名字:'曼联'},
{id:5,名字:'阿森纳'}
];
var-selectedId=3;
if(俱乐部包括(选择的ID))
log('所选id存在');
其他的
console.log('所选id不存在');
但它不起作用。只有当数组是一维数组时,我才起作用

我怎样才能解决它


我想用一句话来表达。无循环

正如Mohammad所指出的,您可以使用.some()解决这个问题,但您需要向它传递一个函数,以便它可以遍历每个对象(顺便说一句,some()和includes()是循环函数):


我认为如果你想保持目前的结构,你必须循环。 不管怎样,如果你能做点小小的改变,我建议你把id作为obj的键

var clubs = {
    4: {id: 1, name : 'chelsea'},
    3: {id: 3, name : 'city'},
};
var selectedId = 3;
if(selectedId in clubs) alert('yes')
从上面的示例中可以看到,在这种情况下,将显示一个警报,因为它将找到以3为键的obj

var clubs = {
    4: {id: 1, name : 'city0'},
    8: {id: 8, name : 'city1'},
    9: {id: 9, name : 'city2'},
    10: {id: 10, name : 'city3'},
    11: {id: 11, name : 'city4'},
};
var selectedId = 3;
if(selectedId in clubs) alert('yes')
在这种情况下,不会显示任何内容,因为没有键3

如果你能编辑俱乐部的结构,这是一个可能的解决方案

看看这是否有帮助

var clubs=[{id:1,名称:'chelsea'},
{id:2,名称:'city'},
{id:3,名字:'利物浦'},
{id:4,名字:'曼联'},
{id:5,名字:'阿森纳'}];
var-selectedId=3;
var exist=clubs.some(函数(obj){
返回obj.id==selectedId;
});
如果(存在){
控制台日志(“存在”);
}
否则{
控制台日志(“不存在”);

}
您可以使用几分钟前在您的中建议的
some()
方法。
clubs.some(o=>o.id==selectedId)
它不起作用,因为
clubs
数组中没有
3
。但是有一个
{id:3,名字:'liverpool'}
对象。就像@Aaron说的,你的数组中没有
3
。Javascript不知道它应该将
3
映射到
id
,除非您按照@Mohammed usman的建议告诉它这样做:clubs数组是一维的。这是一个对象数组。
var clubs = {
    4: {id: 1, name : 'city0'},
    8: {id: 8, name : 'city1'},
    9: {id: 9, name : 'city2'},
    10: {id: 10, name : 'city3'},
    11: {id: 11, name : 'city4'},
};
var selectedId = 3;
if(selectedId in clubs) alert('yes')