首先,我们需要找出每个字母在原始字符串中的位置。我们可以使用 indexOf() 函数来实现:
const originalStr = "hello"; const lettersArr = ['l', 'o', 'e', 'h']; const positionsArr = lettersArr.map(letter => originalStr.indexOf(letter));
接下来,我们使用这个 positionsArr 数组对字母数组进行排序。我们可以使用 sort() 函数,并将其作为一个比较函数传递:
lettersArr.sort((a, b) => { const posA = positionsArr[lettersArr.indexOf(a)]; const posB = positionsArr[lettersArr.indexOf(b)]; return posA - posB; });
最后,我们可以将排序后的字母数组返回(或者在执行上一步时直接对原始的字母数组进行排序):
console.log(lettersArr); // ['h', 'e', 'l', 'l', 'o']