Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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_Arrays_Search - Fatal编程技术网

如何在Javascript对象数组中搜索?

如何在Javascript对象数组中搜索?,javascript,arrays,search,Javascript,Arrays,Search,我在这里用Angular 2和Typescript 我有一个像这样的对象数组 lists: any [] = [ {title: 'Title1', content: 'Content1', id: 10}, {title: 'Title2', content: 'Content2', id: 13}, {title: 'Title3', content: 'Content3', id: 14}, {title: 'Title4', content: 'Content4', id: 16}, ]

我在这里用Angular 2和Typescript

我有一个像这样的对象数组

lists: any [] = [
{title: 'Title1', content: 'Content1', id: 10},
{title: 'Title2', content: 'Content2', id: 13},
{title: 'Title3', content: 'Content3', id: 14},
{title: 'Title4', content: 'Content4', id: 16},
];
我所要做的就是在数组中找到一个特定的id后,需要返回一个true或false值

我发现下面有一个字符串示例

myFunction() {
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
var d = a >= 0 ? true : false
console.log(d);
}
但当我把这个应用到我的情况时,它没有起作用

您可以使用:

您可以使用:


最简单的解决方案是迭代列表数组并检查object.id是否等于请求的id

checkID(id: number){
   for(var i = 0; i < lists.length; i++) {
    if(lists[i].id == id){
    return true;
     }
     else{
       return false;
     }
    }
}
checkID(id:number){
对于(变量i=0;i
最简单的解决方案是迭代列表数组并检查object.id是否等于请求的id

checkID(id: number){
   for(var i = 0; i < lists.length; i++) {
    if(lists[i].id == id){
    return true;
     }
     else{
       return false;
     }
    }
}
checkID(id:number){
对于(变量i=0;i
如果在列表
false
中找到specialid,则以下代码将返回
true

const foundObjects = lists.filter(obj => obj.id == particularId)
return !foundObjects || foundObjects.length === 0

如果在列表
false
中找到specialid,则以下代码将返回
true
,否则返回

const foundObjects = lists.filter(obj => obj.id == particularId)
return !foundObjects || foundObjects.length === 0
试一试
var a=[
{title:'Title1',content:'Content1',id:10},
{title:'Title2',content:'Content2',id:13},
{title:'Title3',content:'Content3',id:14},
{title:'Title4',content:'Content4',id:16},
];
功能检查(id){
返回a.find(a=>a.id==id)?true:false;
}
控制台日志(检查(10))
console.log(检查(105))
尝试使用方法
var a=[
{title:'Title1',content:'Content1',id:10},
{title:'Title2',content:'Content2',id:13},
{title:'Title3',content:'Content3',id:14},
{title:'Title4',content:'Content4',id:16},
];
功能检查(id){
返回a.find(a=>a.id==id)?true:false;
}
控制台日志(检查(10))

log(check(105))
您可以使用一些,如果验证至少在一种情况下为true,它将返回true。 试着这样做:

let myArray = [
{title: 'Title1', content: 'Content1', id: 10},
{title: 'Title2', content: 'Content2', id: 13},
{title: 'Title3', content: 'Content3', id: 14},
{title: 'Title4', content: 'Content4', id: 16},
]

myArray.some(function(el){ return (el.id === 10) ? true:false })

您可以使用一些,如果验证至少在一种情况下为真,它将返回真。 试着这样做:

let myArray = [
{title: 'Title1', content: 'Content1', id: 10},
{title: 'Title2', content: 'Content2', id: 13},
{title: 'Title3', content: 'Content3', id: 14},
{title: 'Title4', content: 'Content4', id: 16},
]

myArray.some(function(el){ return (el.id === 10) ? true:false })

请向我们显示您在数组中搜索对象的逻辑。请向我们显示您在数组中搜索对象的逻辑。