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

在javascript数组中查找对象

在javascript数组中查找对象,javascript,Javascript,以前有人问过这个问题,但我的情况有点不同,因为我已经尝试了本网站中建议的所有解决方案,我有一个多维数组: var数组=[ { “dup”:{“lat”:36.69507771893455,“lng”:2.828052824475776}, “原件”:{“lat”:36.695076,“lng”:2.8280580000000555} }, { “dup”:{“lat”:36.69507687630523,“lng”:2.8280525056927672}, “原件”:{“lat”:36.6950

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

var数组=[
{
“dup”:{“lat”:36.69507771893455,“lng”:2.828052824475776},
“原件”:{“lat”:36.695076,“lng”:2.8280580000000555}
},
{
“dup”:{“lat”:36.69507687630523,“lng”:2.8280525056927672},
“原件”:{“lat”:36.695076,“lng”:2.8280580000000555}
},
{
“dup”:{“lat”:36.695076,“lng”:2.8280523980529324},
“原件”:{“lat”:36.695076,“lng”:2.8280580000000555}
},
{
“dup”:{“lat”:36.69507512369477,“lng”:2.8280525056927672},
“原件”:{“lat”:36.695076,“lng”:2.8280580000000555}
},
{
“dup”:{“lat”:36.69507428106545,“lng”:2.828052824475776},
“原件”:{“lat”:36.695076,“lng”:2.8280580000000555}
},
{
“dup”:{“lat”:36.69507350449334,“lng”:2.828053342151293},
“原件”:{“lat”:36.695076,“lng”:2.8280580000000555}
},
...
]
我还有一个小阵列:

var datax = {"lat":36.69507428106545,"lng":2.828052824475776}
我只想找到和这个“dup”在同一行的“原件”。 到目前为止,我尝试了find、filter和grep,但这些都没有解决我的问题

我尝试过的代码:

var Cent=$.grep(数组,函数(e){returne e.dup==JSON.stringify(datax);});
contentString+=”和“+Cent+”越接近”;

您仍然可以使用
Array.filter()实现这一点。

var数组=[{“dup”:{“lat”:36.69507771893455,“lng”:2.828052824475776},“原件”:{“lat”:36.695076,“lng”:2.8280580000000555},{“dup”:{“lat”:36.69507687630523,“lng”:2.8280525056927672},“原件”:{“lat”:36.695076,“lng”:2.8280580000000555},{“dup”:“lat”:36.69507687630522,“原件”:“lng”:“原件”:“lat”:2.8280548054545226”,“lng”:“原件”:2.82808052525252528282827575776}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,36.695076,“液化天然气”: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);

控制台日志(res)您仍然可以使用
Array.filter()实现这一点:

var数组=[{“dup”:{“lat”:36.69507771893455,“lng”:2.828052824475776},“原件”:{“lat”:36.695076,“lng”:2.8280580000000555},{“dup”:{“lat”:36.69507687630523,“lng”:2.8280525056927672},“原件”:{“lat”:36.695076,“lng”:2.8280580000000555},{“dup”:“lat”:36.69507687630522,“原件”:“lng”:“原件”:“lat”:2.8280548054545226”,“lng”:“原件”:2.82808052525252528282827575776}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,36.695076,“液化天然气”: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);

控制台日志(res)
是否要返回新数组或项的索引?您的意思与
datax
相同?a)始终向我们展示您尝试的内容。b) 您是否知道对象比较在JS中是如何工作的(或者更确切地说,它是如何工作的,取决于初始假设)?datax是“dup”并希望找到同一行中的“原始”是否要返回新数组或项的索引?您的意思与
datax
?a相同)始终向我们展示您尝试过的内容。b) 您知道对象比较在JS中是如何工作的吗(或者更确切地说,它是如何工作的,取决于最初的假设)?datax是“dup”的,希望找到同一行中的“原始”对象