我有一个数组:
myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'}, etc.]
我无法更改数组的结构。我正在传递ID为45
,我想获取'bar'
数组中的该对象。
如何在JavaScript或jQuery中做到这一点?
使用find()
方法:
myArray.find(x => x.id === '45').foo;
从MDN:
find()
如果数组中的元素满足提供的测试功能,则该方法返回数组中的第一个值。否则undefined
返回。
如果要查找其 索引 ,请使用findIndex()
:
myArray.findIndex(x => x.id === '45');
从MDN:
该
findIndex()
方法返回满足提供的测试功能的数组中第一个元素的索引。否则返回-1。
如果要获取匹配元素的数组,请改用filter()
方法:
myArray.filter(x => x.id === '45');
这将返回一个对象数组。如果要获取foo
属性数组,可以使用以下map()
方法:
myArray.filter(x => x.id === '45').map(x => x.foo);
问题内容: 我知道以前也曾问过类似的问题,但是这个问题有些不同。我有一个未命名对象的数组,其中包含一个已命名对象的数组,我需要获取“名称”为“字符串1”的对象。这是一个示例数组。 更新: 我应该早先说过,但是一旦找到它,我想用一个编辑过的对象替换它。 问题答案: 您可以遍历数组并测试该属性:
所以这个问题以前被问过,但我的情况有点不同,因为我已经尝试了这个网站中建议的所有解决方案,我有一个多提及数组: 我还有另一个小数组: 我只想找到与这个“dup”在同一行的“original”。到目前为止,我尝试了查找、过滤和grep,但这些都没有解决我的问题。 我尝试过的代码:
问题内容: 存在一个包含许多对象的数组。通过属性在此数组中查找一个或多个对象所必需。 输入obj: 输出结果:(以值4搜索“开始”) 问题答案: _findItemByValue(Obj,“开始”,4); 与除IE6,IE7,IE8以外的所有版本兼容,但存在polyfill。
问题内容: 该数组如下所示: 我有一个名为的整数变量。 如何选择具有对象的数组条目,其中的属性具有值? 问题答案: 您可以迭代数组,搜索特定记录(一次只能搜索一次),也可以使用另一个关联数组来构建哈希图。 对于前者,像这样
问题内容: 用JavaScript合并两个数组的正确方法是什么? 我有两个数组(例如): 我希望能够得到类似以下的结果: 在基于“ id”字段将两个数组连接在一起的地方,仅添加了额外的数据。 我试图用它来做,但是它只是将第二个数组中的值覆盖到第一个数组中 问题答案: 这应该可以解决问题: 假定a1中第二个对象的id应该为2而不是“ 2”
我有一个像下面这样的数组 现在我有了一个73如何从数组中选择这个特定的对象。我明白了,我可以在jQuery中用grep轻松实现这一点,有没有什么方法可以做到这一点? 由于大多数使用angular开发应用程序的用户总是从对象数组(主要用于表格)获取数据,因此应该有一个辅助函数来实现这一点? 这样我就可以通过更新对象的数组用行的ID来更改行的数据。 我不想把这件事牵扯进来。我想操作数据,并用函数更新数