如何在不使用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')