簡體   English   中英

根據二維數組中的輸入獲取值

[英]Get value based on input in two dimensional array

我有一個二維數組

var years = [[-1,"0 years"], [1,"< 1 year"], [2,"1-3 years"], [3,"> 3 years"]];

我想根據用戶輸入獲取年數,即-1,1,2,3如何用Javascript完成?

我正在嘗試使用years[years_input]但沒有得到正確的值。

試試這個,希望它能起作用

 let years = [ [-1, "0 years"], [1, "< 1 year"], [2, "1-3 years"], [3, "> 3 years"] ]; function getYear(year) { return years.find(el => el.indexOf(year) > -1)[1] } console.log(getYear(-1)) console.log(getYear(1)) console.log(getYear(2)) console.log(getYear(3)) 

您可以使用find()方法。

 var years = [[-1,"0 years"], [1,"< 1 year"], [2,"1-3 years"], [3,"> 3 years"]]; let input = +prompt('enter the index'); console.log(years.find(x => x[0] === input)[1]) 

獲取數組的第一個元素(您需要使用find來處理-1這樣的邊緣情況):

 const years = [[-1,"0 years"], [1,"< 1 year"], [2,"1-3 years"], [3,"> 3 years"]]; const index = 3; const [, res] = years.find(([n]) => n == index); console.log(res); 

您可以使用包括:

 var years = [[-1,"0 years"], [1,"< 1 year"], [2,"1-3 years"], [3,"> 3 years"]]; var input = +prompt() for(var i = 0; i < years.length; i++) { if (years[i].includes(input)) { console.log(years[i][1]) break } } 

你可以采取一個MapMap#get和獲取價值的關鍵。

 var years = [[-1, "0 years"], [1, "< 1 year"], [2, "1-3 years"], [3, "> 3 years"]], yearsMap = new Map(years); console.log(yearsMap.get(1)); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM