在 JavaScript 中根據隨機字串形成和匹配陣列的字串
假設我們有一個包含一些名稱的字串陣列,如下所示 −
const arr = ['Dinesh', 'Mahesh', 'Rohit', 'Kamal', 'Jatin Sapru', 'Jai'];
和一個類似這樣的隨機字元字串 −
const str = 'lsoaakjm';
我們要求編寫一個 JavaScript 函式,它將一個這樣的陣列和字串作為兩個引數。
然後,該函式對於陣列的每個元素應檢查該特定元素是否可以完全由作為第二個引數提供的字串形成。
如果此條件滿足陣列的任何元素,我們應返回該元素,否則我們應返回一個空字串。
示例
以下是程式碼 −
const arr = ['Dinesh', 'Mahesh', 'Rohit', 'Kamal', 'Jatin Sapru', 'Jai'];
const str = 'lsoaakjm';
const initialise = (str = '', map) => {
for(let i = 0; i < str.length; i++){
map[str[i]] = (map[str[i]] || 0) + 1;
};
};
const deleteAll = map => {
for(key in map){
delete map[key];
};
};
const checkForFormation = (arr = [], str = '') => {
const map = {};
for(let i = 0; i < arr.length; i++){
const el = arr[i].toLowerCase();
initialise(str, map);
let j;
for(j = 0; j < el.length; j++){
const char = el[j];
if(!map[char]){
break;
}else{
map[char]--;
}
};
if(j === el.length){
return arr[i];
};
deleteAll(map);
}
return '';
};
console.log(checkForFormation(arr, str));輸出
以下是控制檯輸出 −
Kamal
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP