Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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,按id在对象列表中查找对象_Javascript_Lodash - Fatal编程技术网

Javascript,按id在对象列表中查找对象

Javascript,按id在对象列表中查找对象,javascript,lodash,Javascript,Lodash,我有一个对象列表,其中我需要通过一个ID找到一个对象。非常简单,如下所示: { { "id": "1" },{ "id": "2" } } 我有一个函数,我想通过它的id来查找对象,但它不是这样工作的 function findOb (id) { return _.find(myList, function(obj) { return obj.id === id } ); } 它没有返回正确的对象(这是使用lodash),不确定我在做什么不正确,可能需要一些

我有一个对象列表,其中我需要通过一个ID找到一个对象。非常简单,如下所示:

{ 
 {
   "id": "1"
 },{
   "id": "2"
 }
}
我有一个函数,我想通过它的id来查找对象,但它不是这样工作的

 function findOb (id) {

   return _.find(myList, function(obj) { return obj.id === id } );

 }
它没有返回正确的对象(这是使用lodash),不确定我在做什么不正确,可能需要一些帮助。谢谢


编辑-我不知道这是否有帮助,但我正在构建并尝试搜索此格式的对象-。所以有时候只有带有module和leaf的对象,我希望能够通过“module”键进行搜索和查找。谢谢大家的反馈

您的代码本来应该可以工作,但可以简化

如果为
谓词
参数提供一个属性名,以
查找
,它将在该属性中搜索
thisArg

function findOb(id) {
    return _.find(myList, 'id', id);
}

我能看到的代码的唯一问题是,在比较中使用了
==
。如果将
1
作为ID参数而不是
“1”
传递,则它将不匹配,因为
===
执行严格的类型检查。

您的代码应该已经工作,但可以简化

如果为
谓词
参数提供一个属性名,以
查找
,它将在该属性中搜索
thisArg

function findOb(id) {
    return _.find(myList, 'id', id);
}

我能看到的代码的唯一问题是,在比较中使用了
==
。如果您将
1
作为ID参数而不是
“1”
,它将不匹配,因为
==
执行严格的类型检查。

您的对象没有键。我现在就这样被卡住了,有没有办法在没有键的情况下实现这一点?您能确认这是一个有效的JSON对象吗?它看起来不合法JSON@ajmajmajma使用对象数组怎么样<代码>[{id:1},{id:2}]@ochi这在JSON中是必需的,但在Javascript文本中不是。你的对象没有键。我现在就是这样,有没有办法在没有键的情况下实现这一点?你能确认这是一个有效的JSON对象吗?它看起来不合法JSON@ajmajmajma使用对象数组怎么样<代码>[{id:1},{id:2}]@ochi,这在JSON中是必需的,但在Javascript文本中不是。