Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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 在JSON对象上循环以检查给定值是否存在_Javascript_Json_Angular - Fatal编程技术网

Javascript 在JSON对象上循环以检查给定值是否存在

Javascript 在JSON对象上循环以检查给定值是否存在,javascript,json,angular,Javascript,Json,Angular,这是我的JSON对象,我想知道在Angular 6中,如果键“name”上存在一个值,我们如何搜索它 { "id":2, "name":"Sports", "url":"/sports" "children":[ { "id":1, "name":"Football" }, { "id":2, "name":"Tennis" }, { "id

这是我的JSON对象,我想知道在Angular 6中,如果键“name”上存在一个值,我们如何搜索它

  {
  "id":2,
  "name":"Sports",
  "url":"/sports"
  "children":[
     {
        "id":1,
        "name":"Football"
     },
     {
        "id":2,
        "name":"Tennis"   
     },
     {
        "id":3,
        "name":"Soccer"
     }
}

谢谢。

您可以使用检查值是否存在

var result = yurObj.children.some(t=>t.name === "Tennis");
演示

var yourObj={
“id”:2,
“名称”:“运动”,
“url”:“/体育”,
“儿童”:[
{
“id”:1,
“名称”:“足球”
},
{
“id”:2,
“姓名”:“网球”
},
{
“id”:3,
“名称”:“足球”
}
]
};
var result=yourObj.children.some(t=>t.name==“网球”);

控制台日志(结果)您可以使用以下数组筛选器方法:

const result = Object.children.filter(item => item.name === 'Tennis')
结果数组将包含名称等于“网球”的子元素的所有元素

希望这有帮助。 劳埃德

这是非常容易使用的。您可以使用
find
filter
方法
find
将为您提供特定的值,而
filter
将返回与搜索条件匹配的值集合

const result=u.find(yourObj,{name:'tensiness'})

如果需要在对象的子对象内搜索,也可以这样做:


const result=uj.find(yourObj,函数(o){return o.children.name=='netsing'})

如果我使用JSON.stringify()来处理JSON对象,这是否可行?您不需要使用,只需检查demoyourObj.children是未知的。在我的例子中,结果是一个列表,我只能映射、筛选、foreach。。管理列表的方法我指的是您粘贴在上面的对象