我试着这样:
<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>
但它不起作用。我只在俱乐部阵列是一维阵列
时才有效我该如何解决?
我想用一个陈述来做。没有循环
答案 0 :(得分:1)
看看这是否有帮助。
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;
var exist = clubs.some(function(obj) {
return obj.id === selectedId;
});
if(exist) {
console.log("Exist");
}
else{
console.log("Not Exist");
}
&#13;
答案 1 :(得分:0)
你可以使用.some()解决这个问题,正如Mohammad所指出的那样,但你需要传递一个函数,以便它可以迭代遍历每个对象(some()和includes()是循环函数): / p>
https://jsfiddle.net/bdju9gLd/
FROM python:3.6
RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "/code/test.py"]`
答案 2 :(得分:0)
我认为如果你想保持目前的结构,你必须循环。 无论如何,如果你可以进行这个小改动,我建议添加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
如果你可以编辑俱乐部的结构,这是一个可能的解决方案。