我有一個這樣的串列:
[EMP004: BPCE-RNHC-25G8, EMP003: 8FIW-9JRB-NY4J, EMP005: 7QF2-6HI9-XKZZ, EMP002: SG8P-YQKG-ZV3C, EMP001: PBF7-WZHT-WPZR]
我試圖實作的目標:
用戶輸入第一個鍵,然后系統將掃描串列并顯示相應的鍵。例如,如果用戶輸入“EMP004”,它應該提醒BPCE-RNHC-25G8他們。
想法:
如何將第一個鍵和第二個鍵分開:?除此之外我怎么知道找到相應的結果?有誰知道我如何只用 JavaScript 解決這個問題?提前致謝。
uj5u.com熱心網友回復:
您提供的示例串列在語法上不正確。您可以創建一個陣列物件。然后,您可以創建以密鑰為引數的函式,如下所示:
const list = [
{ EMP004: 'BPCE-RNHC-25G8' },
{ EMP003: '8FIW-9JRB-NY4J' },
{ EMP005: '7QF2-6HI9-XKZZ' },
{ EMP002: 'SG8P-YQKG-ZV3C' },
{ EMP001: 'PBF7-WZHT-WPZR' }
];
const getValByKey = (key) => Object.values(list.find(o => Object.keys(o)[0] === key ))[0];
console.log(getValByKey('EMP004'));
console.log(getValByKey('EMP002'));
uj5u.com熱心網友回復:
You can do like this:
function search(arr, sub) {
sub = sub.toLowerCase();
matchedIndex = arr.map((str, index) => {
if (
str.toLowerCase().startsWith(sub.slice(0, Math.max(str.length - 1, 1)))
) {
return index;
}
});
if(matchedIndex.length>0)
return matchedIndex[0];
else
return -1;
}
var arr = ["EMP004: BPCE-RNHC-25G8", "EMP003: 8FIW-9JRB-NY4J", "EMP005: 7QF2-6HI9-XKZZ", "EMP002: SG8P-YQKG-ZV3C", "EMP001: PBF7-WZHT-WPZR"];
var index = search(arr, 'EMP004');
if(index>-1){
matchedvalue=arr[index].split(':');
console.log(matchedvalue[1]);
}
else{
console.log("Not found")
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/356434.html
標籤:javascript
上一篇:如何按創建日期時間按陣列排序?
下一篇:如何使用VUE為課程添加條件
