我有兩個大小相等但值不同的陣列,例如:
var1 = [1, 6, 9]
var2 = [4, 7, 3]
和另一個常規變數 var3 = null
我運行一個 if 陳述句來檢查 var3(將由外部函式賦予一個值)是否等于 var1 陣列中的任何元素。例如:
if var1.includes(var3) //假設在這種情況下回傳 true...
然后在 var1 陣列中獲取該匹配元素的索引。
然后,使用此索引號在第二個陣列 var2 中查找同一索引處,
最后,獲取 var2 陣列中該索引處的值
本質上,我試圖避免的是有一堆 if 陳述句,例如:
if (var1.includes(var3)) && var3 == 1): 獲取 var2 內第一個索引處的元素
elif (var1.includes(var3)) && var3 == 6): 獲取 var2 中第二個索引處的元素
等等等等
任何建議表示贊賞我很新。使用一堆 if 陳述句似乎是錯誤的,所以我覺得必須有更好的方法來查看一個陣列內部,獲取一個元素及其索引,然后查看另一個陣列內部相同索引處以獲取該元素。也許字典會更容易?不太確定....
uj5u.com熱心網友回復:
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 回傳-1。
uj5u.com熱心網友回復:
您可以使用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")
}
uj5u.com熱心網友回復:
我有一個使用回圈的答案。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]);
}
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/458855.html
標籤:javascript 数组 字典
