所以我正在做一个练习,我必须对给定的字符串进行排序。字符串中的每个单词都包含一个数字(写成'H3llo')。字符串的每个字中的数字应按照要返回的新字符串中的数字排列。麻烦用Javascript while循环,我做错了什么?
例如,如果我的输入是“is2 Thi1s T4est 3a”,那么我的函数应该返回“Thi1s is2 3a T4est”。
我几乎破解它,但我的输出是不完整的。这里是我的代码:
function order(words) {
var lst = words.split(' ');
var count = 0;
var n = count + 1;
var s_n = n.toString();
var new_l = [];
while (count < lst.length) {
if (lst[count].includes(s_n) === true) {
new_l.push(lst[count])
}
count++
}
return new_l.join(' ');
}
当我测试了一下,而不是得到:
console.log(order("is2 Thi1s T4est 3a"));
>>> 'Thi1s is2 3a T4est'
我得到这个:
console.log(order("is2 Thi1s T4est 3a"));
>>> 'Thi1s'
任何人都可以向我解释什么,我做错了什么?
你应该早晚学习['Array#sort'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)。 –
需要在循环内设置'n'和's_n'。 – Malk
做了迄今为止仍然不起作用的所有建议 – MountainSlayer