Javascript 多维js[array of array]的现代查询方法,而不是嵌套for循环
我有一个数组Javascript 多维js[array of array]的现代查询方法,而不是嵌套for循环,javascript,jquery,multidimensional-array,Javascript,Jquery,Multidimensional Array,我有一个数组[arr]在一个数组[[arr]、[arr1]、[arr2]] e、 g.[“布拉格”,50,14]在我要检查的以下数组中: [ ["prague",50,14], ["vienna",48.2, 16.4], ["bratislava",48.15, 17.1] ] 理想情况下,我想使用单个参数[“prague”,50,14]查询这个[array]数组,以确定我的项目是否已经存在,然后再决定是否添加一个新项目,以避免重复: 检查现有的[arrays]数组,确保[arr]不存
[arr]
在一个数组[[arr]、[arr1]、[arr2]]
e、 g.[“布拉格”,50,14]
在我要检查的以下数组中:
[
["prague",50,14],
["vienna",48.2, 16.4],
["bratislava",48.15, 17.1]
]
理想情况下,我想使用单个参数[“prague”,50,14]
查询这个[array]数组,以确定我的项目是否已经存在,然后再决定是否添加一个新项目,以避免重复:
for (var i = 0; i < arr.length; i++) {
for (var k = 0; k < arr[i].length; k++) {
if (arr[i][0] == "prague" && arr[i][1] == 50 && arr[i][2] == 14){
console.log(arr[i][0]+", "+arr[i][1]+", "+arr[i][2]); // if item exists already
} else {
// code to add new item
}
}
}
for(变量i=0;i
如果(arr[i][0]==“prague”&&arr[i][1]==50&&arr[i][2]==14)产生多个结果(见下面的代码片段),则其本身也不理想
寻找一种现代的方法
在我收到大量的“重复的”帖子回复之前,我只想说,我已经广泛地环顾了四周,阅读了大量关于数组、多维数组、许多实际上是对象的帖子,等等,但我还是不太明白
我还没有用一个简单且类似的数组示例找到一个好的问题/答案,因此我决定再写一篇关于查询多维js数组(而不是对象数组)的文章希望它们能帮助像我这样的代码爱好者您可以对请求的数组和给定数据项进行字符串化 然后找到项目
var数据=[[“布拉格”,50,14],“维也纳”,48.2,16.4],“布拉迪斯拉发”,48.15,17.1],
请求=[“布拉格”,50,14],
json=json.stringify(请求),
item=data.find(a=>JSON.stringify(a)==JSON);
控制台日志(项目)代码>嗨,尼娜,天哪,我完全忽略了find()(和findIndex()),我确信我过去使用过它。虽然find()在未找到任何内容时会生成undefined,但这显然是一个可以接受的选择:)看起来像是stringify将请求和数组的每个项(当它遍历时?)转换为string对象。现在我想知道,在处理较大的数据集时,可能会对性能造成什么影响,或者这是无关紧要的?好吧,尽管我还没有足够大的数据集来测试潜在的性能问题,但提供的解决方案是可以接受的,我已经在其他地方介绍过了。再次感谢您提供这个答案。