输入字符串javascript的北约代码字符串返回值



我有一个字符串,需要将输入的字符串转换为等效的北约代码。

例如输入字符串abc和获取alpha beta charlie

到目前为止,我已经完成了这个代码,我想比较一下一旦我有了每个字符,任何建议

let str = 'abc';
let res = '';
const codes = [
{
'a': 'alpha'
},
{
'b': 'beta'
},
{
'c': 'charlie'
}
];
for (let i = 0; i < str.length; i++) {
codes.find((item, index) => {
if (str[i] === item) {
console.log('found item', item[i]);
res = res + item; 
}
});
}
console.log(res);

任何建议都会有帮助。

您甚至可以使用对象数组。但是您需要添加更多的逻辑来查找对象数组中的代码值。

let str = 'abc';
let res = '';
const codes = [
{
'a': 'alpha'
},
{
'b': 'beta'
},
{
'c': 'charlie'
}
];
function getCode(codes, char){
return Object.values(codes.find(e=>Object.keys(e).indexOf(char)!=-1))[0];
}
res = getCode(codes, str[0]);
for (let i = 1; i < str.length; i++) {
res = res + " " + getCode(codes, str[i]);
}
console.log(res); //alpha beta charlie

您可以创建一个名为codes的对象,该对象包含所有字母表字符及其等效的nato字符串,以及convert函数,如下所示:

const codes = {'a': 'alpha', 'b': 'beta', 'c': 'charlie'};
function convert(str) {
return str.split('').map(code => codes[code]).join(' ');
}
console.log(convert('a'));   //it will print alpha
console.log(convert('ab'));  //it will print alpha beta
console.log(convert('abc')); //it will print alpha beta charlie

相关内容

  • 没有找到相关文章

最新更新