根据特定值在数组中查找特定索引
Find a certain index in an array based on a particular value
我有两个大小相同但值不同的数组:
var1 = [1, 6, 9]
var2 = [4, 7, 3]
和另一个常规变量,var3 = null
I 运行 一个 if 语句来检查 var3(将由外部函数赋予一个值)是否等于 var1 数组中的任何元素。
例如:
if var1.includes(var3) //假设在这种情况下 returns 为真...
然后获取 var1 数组中匹配元素的索引。
然后,使用此索引号在同一索引处的第二个数组 var2 中查找,
最后,获取 var2 数组中该索引处的值
本质上,我要避免的是有一堆 if 语句,例如:
如果 (var1.includes(var3)) && var3 == 1):
在第一个索引处获取 var2 中的元素
elif (var1.includes(var3)) && var3 == 6):
在第二个索引处获取 var2 中的元素
等等等等
感谢任何建议我是新手。使用一堆 if 语句似乎是错误的,所以我觉得必须有一种更好的方法来查看一个数组内部,获取一个元素及其索引,然后在同一索引处查看另一个数组内部以获取该元素。也许字典会更容易?不太确定....
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
Array.indexOf 可能就是您要找的。
const temp = var1.indexOf(var3);
var2[temp];
如果var3不在第一个数组中,indexOf returns -1
.
您可以使用 indexOf
.
var1 = [1, 6, 9]
var2 = [4, 7, 3]
var3 = 6
let index;
let secondVal
if (var1.includes(var3)) {
index = var1.indexOf(var3)
secondVal = var2[index]
// should print out 7
console.log(secondVal)
}
我有一个使用循环的答案。
javascript 中的地图功能。这将减少您的 if-else 声明
var var3=6
var var1=[1,6,9]
var var2=[4,7,3]
var1.map((element,index)=>{
if(element==var3){
console.log(var2[index]);
}
})
我有两个大小相同但值不同的数组:
var1 = [1, 6, 9]
var2 = [4, 7, 3]
和另一个常规变量,var3 = null
I 运行 一个 if 语句来检查 var3(将由外部函数赋予一个值)是否等于 var1 数组中的任何元素。 例如:
if var1.includes(var3) //假设在这种情况下 returns 为真...
然后获取 var1 数组中匹配元素的索引。
然后,使用此索引号在同一索引处的第二个数组 var2 中查找,
最后,获取 var2 数组中该索引处的值
本质上,我要避免的是有一堆 if 语句,例如:
如果 (var1.includes(var3)) && var3 == 1): 在第一个索引处获取 var2 中的元素
elif (var1.includes(var3)) && var3 == 6): 在第二个索引处获取 var2 中的元素
等等等等
感谢任何建议我是新手。使用一堆 if 语句似乎是错误的,所以我觉得必须有一种更好的方法来查看一个数组内部,获取一个元素及其索引,然后在同一索引处查看另一个数组内部以获取该元素。也许字典会更容易?不太确定....
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
Array.indexOf 可能就是您要找的。
const temp = var1.indexOf(var3);
var2[temp];
如果var3不在第一个数组中,indexOf returns -1
.
您可以使用 indexOf
.
var1 = [1, 6, 9]
var2 = [4, 7, 3]
var3 = 6
let index;
let secondVal
if (var1.includes(var3)) {
index = var1.indexOf(var3)
secondVal = var2[index]
// should print out 7
console.log(secondVal)
}
我有一个使用循环的答案。 javascript 中的地图功能。这将减少您的 if-else 声明
var var3=6
var var1=[1,6,9]
var var2=[4,7,3]
var1.map((element,index)=>{
if(element==var3){
console.log(var2[index]);
}
})