javascript - 在 javascript 数组中查找对象

标签 javascript

所以这个问题之前已经被问过,但我的情况有点不同,因为我已经尝试了这个网站中建议的所有解决方案,我有一个多维数组:

var array = [
{
    "dup":{ "lat":36.69507771893455,"lng":2.828052824475776 },
    "original":{ "lat":36.695076,"lng":2.8280580000000555}
},
{
    "dup":{ "lat":36.69507687630523,"lng":2.8280525056927672},
    "original":{ "lat":36.695076,"lng":2.8280580000000555}
},
{
    "dup":{ "lat":36.695076,"lng":2.8280523980529324},
    "original":{ "lat":36.695076,"lng":2.8280580000000555}
},
{
    "dup":{ "lat":36.69507512369477,"lng":2.8280525056927672},
    "original":{ "lat":36.695076,"lng":2.8280580000000555}
},
{
    "dup":{ "lat":36.69507428106545,"lng":2.828052824475776},
    "original":{ "lat":36.695076,"lng":2.8280580000000555}
},
{
    "dup":{ "lat":36.695073504493834,"lng":2.828053342151293},
    "original":{ "lat":36.695076,"lng":2.8280580000000555}
},
...
]

我还有另一个小数组:

var datax = {"lat":36.69507428106545,"lng":2.828052824475776}

我想要的只是找到与这个“dup”位于同一行的“original”。 到目前为止,我尝试了 find、filter 和 grep,但这些都没有解决我的问题。

我尝试过的代码:

var Cent = $.grep(array, function(e){ return e.dup== JSON.stringify(datax); });
contentString += " and "+Cent +"is the closer";

最佳答案

您仍然可以使用Array.filter()来实现此目的:

var array = [{"dup":{"lat":36.69507771893455,"lng":2.828052824475776},"original":{"lat":36.695076,"lng":2.8280580000000555}},{"dup":{"lat":36.69507687630523,"lng":2.8280525056927672},"original":{"lat":36.695076,"lng":2.8280580000000555}},{"dup":{"lat":36.695076,"lng":2.8280523980529324},"original":{"lat":36.69507428106545,"lng":2.828052824475776}},{"dup":{"lat":36.69507512369477,"lng":2.8280525056927672},"original":{"lat":36.695076,"lng":2.8280580000000555}},{"dup":{"lat":36.69507428106545,"lng":2.828052824475776},"original":{"lat":36.695076,"lng":2.8280580000000555}},{"dup":{"lat":36.695073504493834,"lng":2.828053342151293},"original":{"lat":36.695076,"lng":2.8280580000000555}}];
var datax = {"lat":36.69507428106545,"lng":2.828052824475776}

var res = array.filter(item => item.original.lat === datax.lat && item.original.lng === datax.lng);
console.log(res);

关于javascript - 在 javascript 数组中查找对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51265862/

相关文章:

javascript - 如何使用 javascript 将 Yii2 对象加载到输入中

javascript - Webstorm:关于 "read-only property"的 Memorized getter trickers 警告

javascript - 如何在没有隐藏输入字段的情况下将值从 javascript (innerhtml) 传递到 asp.net 代码隐藏?

javascript - 如何在 TypeScript 中导出对象?

javascript - 为什么 Firefox 和 IE 会分解我的 div 框并放在彼此下面?

javascript - React - 索引在数组过滤后开始

javascript - 如何在 html 5 Canvas 上使用 FontAwesome 图标

javascript - 使用javascript比较三个变量

javascript - 添加新字符并设置输入位置

javascript - XSL FO 文件中的 javascript 可以写入文档以使用 Apache FOP 进行处理吗?